Как сгенерировать SoapProxy из wsimport?

Я сравниваю клиентские заглушки, созданные IBM Rational Application Developer, с Java wsimport и замечаю, что IBM RAD генерирует дополнительный класс, который является классом SOAPProxy. Этот класс позволяет настроить URL-адрес веб-службы.

Как я могу создать класс SOAPProxy в Java wsimport? Являются ли wsimport IBM RAD и wsimport Java одним и тем же?

Ниже приведены классы, созданные IBM RAD:

  • ObjectFactory.java
  • package-info.java
  • WSCalculator_Service.java
  • WSCalculator.java
  • WSCalculatorRequest.java
  • WSCalculatorResponse.java
  • WSCalculatorSOAPProxy.java - не создается в wsimport Java. Как я могу сгенерировать это с помощью Java wsimport?

person Arci    schedule 06.09.2012    source источник
comment
Какую версию RAD вы используете? как вы генерируете код - используете ли вы Prepare для развертывания в прилагаемом проекте EAR? Что еще ты делаешь?   -  person Isaac    schedule 03.10.2012


Ответы (2)


Каждый инструмент (JBoss WS, wsimport, Apache CXF, RAD и т. Д.), Который генерирует классы из WSDL, делает это немного по-разному, и не все они генерируют одни и те же классы, хотя обычно они похожи. Но будет способ предоставить свой собственный URL-адрес, указывающий на WSDL. Я не знаком с RAD и тем, как он генерирует веб-сервисы, но я предполагаю, что у класса WSCalculator_Service есть конструктор, который принимает аргумент URL:

WSCalculator_Service service = new WSCalculator_Service(new URL("http://www.domain.com/ws/file.wsdl"));
WSCalculator port = service.getWSCalculatorPort();
port.callWebService(param1, param2, ...);

Иногда конструктору, который принимает URL, также требуется QName. Я бы посмотрел в исходный код и просто скопировал QName, который он использует.

person Jason Wheeler    schedule 23.05.2013

В RAD 9.1, когда вы выбираете «Java Proxy» для «Client type:» во всплывающем мастере Web Service Client, он также создает код прокси. Wsimport.exe, входящий в состав RAD, похоже, не создает прокси-код через командную строку.

person Spansoft    schedule 30.10.2014