SoapUI vs Java Web Service Client


Если веб-служба SOAP хорошо работает через SoapUI (производя правильные ответы SOAP), в то время как создание клиента веб-службы в Java с использованием различных API/платформ для вызова этой веб-службы сталкивается с различными проблемами, безопасно ли считать эту веб-службу стабильной и проблемы со стороны потребителя?

Здесь я задаю общий вопрос, я уже задал подробный, который, вероятно, слишком долго читать. Я заинтересован в концепции больше, чем в моей реальной жизни. поэтому, если вы можете ответить на мой вопрос, не ссылаясь на мой более длинный пост, пожалуйста, сделайте это.

Обновление : Я понял, что даже если WSDL совместим с WS-I и работает правильно через SoapUI, этого все равно недостаточно, чтобы сделать вывод, что веб-служба не сломана. Как сказал @jtahlborn, SoapUI очень терпим к сломанным веб-сервисам, и он может легко обмануть вас, чтобы поверить, что ваш веб-сервис работает нормально, что и произошло в моем случае.

Я ... построение ответа SOAP в ESB и моя проблема заключалась в том, что я использовал пространство имен, которое было определено в WSDL, но не в схеме. SoapUI получил ответ и показал его мне (с неправильным пространством имен); этой проблемы можно было бы избежать, если бы я включил опцию проверки ответа.

Также следует отметить, что в клиенте веб-службы Java, созданном для тестирования моей веб-службы, ответ не может быть загружен в выходной объект (исключение NullPointerException ошибка появилась, когда я попытался получить доступ к выходному объекту), это было связано с проблемой пространства имен, и он начал работать правильно, как только я исправил пространство имен.

3 6

3 ответа:

SoapUI-фантастический продукт. одна из вещей, которая делает его отличным продуктом, однако, является то, что онОчень терпим к плохо определенным веб-сервисам. в нашем продукте мы имеем дело с множеством веб-сервисов, и частым комментарием к проблеме в нашем продукте является "он прекрасно работает в SoapUI". мы узнали на собственном горьком опыте, что SoapUI будет терпеть все виды сломанных веб-сервисов. Итак, в общем, работа с SoapUI-это Не доказательство того, что ваш веб-сервис является четкий.

Существуют средства тестирования WS-I для проверки соответствия вашего веб-сервиса профилям совместимости веб-сервисов. Если ваш сервис придерживается базового профиля WS-I, и SoapUI может назвать его, проблемы, безусловно, на стороне потребителя.

EDIT: ну, или между ними обоими...

SoapUI может проверить ваш wsdl на соответствие WS-I, см. http://www.soapui.org/SOAP-and-WSDL/working-with-wsdls.html .

Наиболее вероятно, что потребитель (клиент) глючит... Если клиент сгенерирован с использованием wsdl2java, то это большой шанс, что в нем будут ошибки... и если вы используете какие-то специальные функции, которые являются допустимыми (соответствующие w3c), то не удивляйтесь... сгенерированные клиенты иногда делают это... даже некоторые библиотеки, используемые для создания классов java или библиотек для создания веб-сервисов, полны ошибок...

Многие вещи не поддерживаются известными и часто используемыми библиотеками... (Я не хочу называть имен - но wsdl4java не совершенна)..

Если вы используете безопасность или что-то еще ... более высокие шансы иметь ошибки как на стороне сервера, так и на стороне клиента:)

Может быть, если вы скажете нам, в чем проблема, мы сможем вам помочь...