Генерация клиента веб-сервиса, когда WSDL использует SOAP 1.2 - PullRequest
2 голосов
/ 12 августа 2011

У меня есть файл WSDL, из которого я хочу сгенерировать клиент веб-сервиса. Проблема в том, что WSDL, который я получил, использует SOAP 1.2:

<wsdl:definitions xmlns:wsoap12="http://schemas.xmlsoap.org/wsdl/soap12/" [...]>

И

<wsoap12:operation soapAction="[...]" />

Когда я пытаюсь сгенерировать клиент из этого, я получаю только Java-бины запроса / ответа.

Если я, с другой стороны, отредактирую WSDL для использования SOAP 1.1 (и ничто еще), все генерируется прекрасно, за исключением того, что он отправит запрос SOAP 1.1 вместо SOAP 1.2, и сервер будет кричать у меня вместо 1.2 использовать ...

Я генерирую код с помощью Spring Tool Suite в Windows 7, щелкая правой кнопкой мыши WSDL и выбирая «Веб-службы> Создать клиента». Все это работало как шарм раньше, когда мы использовали SOAP 1.1.

Я также пытался сгенерировать его с помощью wsimport плагина maven jaxws-maven-plugin, но безрезультатно; он также генерирует только компоненты, а не прокси.

Есть ли способ заставить это работать? Или есть какой-то способ изменить сгенерированные классы *ServiceProxy.java, чтобы они использовали SOAP 1.2 вместо 1.1?

1 Ответ

1 голос
/ 12 августа 2011

Вы можете посмотреть на Метро. Это должно поддерживать Soap 1.2.

Кто-то разместил ссылку на gen client с помощью Metro здесь: Создание клиента Metro с использованием локального файла WSDL

Метро wsimport варианты: http://metro.java.net/1.2/docs/wsimport.html

...