Проблемы wsdl xmlns с NetBeans и wsimport

Наше приложение предоставляет 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 :definitions файл определен. Кроме того, этот URI, по-видимому, относится к soap-envelop, а не к wsdl, а также к определенной дате, а не к общему URI.

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

Спасибо
сплинтор


person splintor    schedule 07.12.2009    source источник


Ответы (1)


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

person John Saunders    schedule 07.12.2009
comment
Итак, какой URI пространства имен мне следует использовать? - person splintor; 09.12.2009
comment
Вы не делаете ничего плохого - они тоже. Вы просто не совместимы. Посмотрите, могут ли они работать с SOAP 1.1, может быть, есть переключатель -soap11? В противном случае ваше приложение должно будет поддерживать SOAP 1.2, а это не просто изменение пространства имен. На какой платформе работает ваше приложение? - person John Saunders; 09.12.2009