Самый быстрый способ получить доступ к веб-сервису с помощью 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).
взглянуть: