Самый быстрый способ получить доступ к веб-сервису с помощью WSDL в Java

Мне нужно получить доступ к веб-сервису из Java. Сервис имеет WSDL. Теперь, как мне добраться до вызова его операций?

  • Я уже использовал wsimport на нем, но это только генерирует объекты XML для операций / ответов, ничего, чтобы фактически вызвать их.
  • Я посмотрел на Spring-WS, но это не похоже на то, что я хочу (хотя это может быть частью решения). Слово "wsdl" вообще не появляется на этой странице.

3 ответа

Решение

wsimport генерирует не только объекты, необходимые для связи со службой, но и клиент службы. Создать экземпляр класса MSaleService и получить порт с getMSaleServiceSoap(), Вот и все.

Там могут быть некоторые проблемы, хотя. wsimport жаловались о

[ПРЕДУПРЕЖДЕНИЕ] Порт SOAP "MSaleServiceSoap12": используется нестандартная привязка SOAP 1.2.
строка 530 http://vas.mikro-odeme.com/services/msaleservice.asmx?wsdl

но я не знаю, если это создает реальные проблемы.

Вот быстрая ссылка, которую я нашел

http://download.oracle.com/javaee/1.4/tutorial/doc/JAXRPC5.html

По сути, этот тип вызова называется динамическим вызовом, при котором вам НЕ нужно знать априори WSDL.

Если вы используете Eclipse, есть этот мастер, который позволяет вам создавать то, что называется новым "клиентом веб-службы", просто указывая на файл wsdl.

так что если у вас есть ваш wsdl в вашем проекте, то просто нажмите "новый" и выберите мастер.

он запросит у вас файл wsdl и некоторую другую информацию (вы можете выбрать время выполнения -Axis, Axis2, CXF...).

я думаю, что этот мастер является частью WTP (www.eclipse.org/webtools).

взглянуть:

http://tinyurl.com/5v56s5u

http://www.eclipse.org/webtools/jst/components/ws/1.5/tutorials/WebServiceClient/WebServiceClient.html

Другие вопросы по тегам