Обращение к Web-сервису

Материал из BiTel WiKi

(Различия между версиями)
Перейти к: навигация, поиск
Строка 2: Строка 2:
Загрузка браузером либо иным способом по URL вида: '''http://bumer.core.ufanet.ru/ufanettest/ws/ws1c.1cws?wsdl''' WSDL файла.
Загрузка браузером либо иным способом по URL вида: '''http://bumer.core.ufanet.ru/ufanettest/ws/ws1c.1cws?wsdl''' WSDL файла.
Сохраняем в файл, назовём его '''ws1c.wsdl'''.
Сохраняем в файл, назовём его '''ws1c.wsdl'''.
 +
2. Генерация Java классов на основании WSDL описания с помощью утилиты '''wsimport''' Oracle JDK, исходные файлы генерируются в пакет '''ru.bgcrm.plugin.ocu.ws''', корневой каталог исходников '''~/workspace/CRM/src'''.
2. Генерация Java классов на основании WSDL описания с помощью утилиты '''wsimport''' Oracle JDK, исходные файлы генерируются в пакет '''ru.bgcrm.plugin.ocu.ws''', корневой каталог исходников '''~/workspace/CRM/src'''.
<source lang="bash">
<source lang="bash">
   /opt/java/jdk/bin/wsimport ws1c.wsdl -Xnocompile -keep -extension -d ~/workspace/CRM/src -p ru.bgcrm.plugin.ocu.ws
   /opt/java/jdk/bin/wsimport ws1c.wsdl -Xnocompile -keep -extension -d ~/workspace/CRM/src -p ru.bgcrm.plugin.ocu.ws
</source>
</source>
 +
3. Пример вызова Web сервиса:
3. Пример вызова Web сервиса:
<source lang="java">
<source lang="java">

Версия 13:04, 16 июля 2013

1. Получение WSDL файла с описанием сервиса. Загрузка браузером либо иным способом по URL вида: http://bumer.core.ufanet.ru/ufanettest/ws/ws1c.1cws?wsdl WSDL файла. Сохраняем в файл, назовём его ws1c.wsdl.

2. Генерация Java классов на основании WSDL описания с помощью утилиты wsimport Oracle JDK, исходные файлы генерируются в пакет ru.bgcrm.plugin.ocu.ws, корневой каталог исходников ~/workspace/CRM/src.

/opt/java/jdk/bin/wsimport ws1c.wsdl -Xnocompile -keep -extension -d ~/workspace/CRM/src -p ru.bgcrm.plugin.ocu.ws

3. Пример вызова Web сервиса:

import ru.bgcrm.plugin.ocu.ws.WebService;
import ru.bgcrm.plugin.ocu.ws.WebServicePortType;
....
// код где-то внутри функции
WebService service = new WebService( new URL( "http://bumer.core.ufanet.ru/ufanettest/ws/ws1c.1cws" ), new QName( "http://ws1c.ufanet.ru", "WebService" ) );
WebServicePortType port = service.getWebServiceSoap();
// вызов собственно функции сервиса
String client = port.getClientByINN( "1234567890" );

Здесь:

  1. http://bumer.core.ufanet.ru/ufanettest/ws/ws1c.1cws - URL, по которому доступен сервис.
  2. http://ws1c.ufanet.ru - targetNamespace Web-сервиса.
  3. WebService - name Web-сервиса.

Параметры targetNamespace и name отображаются в начале WSDL описания, в данном случае так:

<definitions name="WebService" targetNamespace="http://ws1c.ufanet.ru">
  <types>
   ...
Личные инструменты