SoapUI vs Java Web Service Client
Если веб-служба SOAP хорошо работает через SoapUI (производя правильные ответы SOAP), в то время как создание клиента веб-службы в Java с использованием различных API/платформ для вызова этой веб-службы сталкивается с различными проблемами, безопасно ли считать эту веб-службу стабильной и проблемы со стороны потребителя?
Здесь я задаю общий вопрос, я уже задал подробный, который, вероятно, слишком долго читать. Я заинтересован в концепции больше, чем в моей реальной жизни. поэтому, если вы можете ответить на мой вопрос, не ссылаясь на мой более длинный пост, пожалуйста, сделайте это.
Обновление : Я понял, что даже если WSDL совместим с WS-I и работает правильно через SoapUI, этого все равно недостаточно, чтобы сделать вывод, что веб-служба не сломана. Как сказал @jtahlborn, SoapUI очень терпим к сломанным веб-сервисам, и он может легко обмануть вас, чтобы поверить, что ваш веб-сервис работает нормально, что и произошло в моем случае.
Я ... построение ответа SOAP в ESB и моя проблема заключалась в том, что я использовал пространство имен, которое было определено в WSDL, но не в схеме. SoapUI получил ответ и показал его мне (с неправильным пространством имен); этой проблемы можно было бы избежать, если бы я включил опцию проверки ответа.
Также следует отметить, что в клиенте веб-службы Java, созданном для тестирования моей веб-службы, ответ не может быть загружен в выходной объект (исключение NullPointerException ошибка появилась, когда я попытался получить доступ к выходному объекту), это было связано с проблемой пространства имен, и он начал работать правильно, как только я исправил пространство имен.
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 не совершенна)..
Если вы используете безопасность или что-то еще ... более высокие шансы иметь ошибки как на стороне сервера, так и на стороне клиента:)
Может быть, если вы скажете нам, в чем проблема, мы сможем вам помочь...