Вы находитесь в сценарии интеграции: вы опубликовали интерфейс, и некоторый код, над которым у вас нет контроля, пытается его использовать.
Веб-сервисы, даже простые, предоставляют полный набор возможностей.Возможности WS- * известны своими тонкими проблемами взаимодействия.Они особенно связаны с небольшими версиями.
Я вижу здесь две основные философии, я довольно преувеличиваю, чтобы подчеркнуть:
- Вы говорите: я публикую этоинтерфейс, с этим WSDL, с этой версией спецификаций WS, я проверяю это с этим сообщением, и оно работает.Вы, клиенты, несете ответственность за создание соответствующего запроса.Я дал вам образец, это подходит для меня.Ваши обязанности ограничены созданием четких рабочих примеров сообщений.
- Вы берете на себя ответственность за проведение тестирования совместимости для некоторого набора клиентских технологий.Вы явно не можете протестировать все, но если у вас есть несколько ключевых «клиентов», вы получаете или создаете примеры приложений и убедитесь, что они работают.Вы, вероятно, в итоге документируете «использовать эти опции при генерации клиентского кода».
В любом случае я бы посоветовал вам написать собственные тестовые клиенты, и как разработчик Java я использую для этого JUnit,Это заставило меня перейти к шагу 1 выше.