wsdl xmlns проблемы с NetBeans и wsimport - PullRequest
0 голосов
/ 07 декабря 2009

Наше приложение предоставляет SOAP API. Наши стартовые строки wsdl похожи на

<wsdl:definitions name='ControlDServices' ... xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' ...

Обычно это работает нормально, но клиент жаловался, что когда он пытается использовать наш SOAP API в NetBeans с предоставленным нами wsdl, он получает эту ошибку:

Web Service can not be created by JAXWS:wsimport utility.
Reason: invalid extension element: "soap:body" (in namespace "http://schemas.xmlsoap.org/wsdl/soap/")

Это можно легко восстановить, запустив:

wsimport  -d . -extension -Xnocompile -keep -s . -verbose <our wsdl file>

с ошибкой:

[ERROR] invalid extension element: "soap:body" (in namespace "http://schemas.xmlsoap.org/wsdl/soap/")
unknown location

Наша служба поддержки обнаружила, что изменение определения xmlns: soap для использования http://www.w3.org/2001/12/soap-envelope/ решает проблему, но это требует изменений в нашем продукте, а также противоречит большинству мест, которые я вижу в Интернете, где файл wsdl: определения определен. Кроме того, этот URI, по-видимому, принадлежит мыльной оболочке, а не wsdl, а также для конкретной даты, а не общего URI.

Есть ли способ решить проблему NetBeans / wsimport без изменения нашего wsdl, например, путем изменения параметров? Если нет, и требуется изменение, целесообразно ли изменить его на http://www.w3.org/2001/12/soap-envelope/, или мы должны использовать что-то еще?

Спасибо
splintor

1 Ответ

0 голосов
/ 07 декабря 2009

Похоже, они не поддерживают SOAP 1.1, только SOAP 1.2.

...