Перейти к основному содержимому

Web-сервисы 1С (SOAP)

Разработчику Архитектору

Web-сервис и HTTP-сервис

На платформе 8.3 два механизма «веб-сервисов» в широком смысле:

Web-сервис (SOAP)HTTP-сервис (REST)
ПротоколSOAP, XML, WSDLHTTP + JSON/XML
URL.../ws/<ИмяСервиса>.../hs/<КорневойURL>/...
КонтрактОперации + XDTO-пакетыШаблоны URL + BSL
Типичный контрагентБанк, гос. шлюз, legacy ERPМаркетплейс, мобильное приложение

Теория SOAP — Протокол SOAP. Здесь — реализация в .


Роли

Поставщик — объект метаданных Web-сервис в конфигурации, модуль с операциями, публикация на веб-сервере. Запрос идёт через модуль расширения веб-сервера; код выполняется в кластере (клиент-сервер) или в расширении (файловая база).

Потребитель — обращение к чужому WSDL:

  • WS-ссылка в конфигурации (статическая);
  • динамическое подключение через встроенный язык.

При вызове стороннего сервиса клиентское приложение 1С выполняет операцию и обрабатывает ответ.


URL публикации

http://host/base/ws/<ИмяWebСервиса>
http://host/base/ws/<АдресWebСервиса>
ЧастьЗначение
wsОбращение к Web-сервису (hs — к HTTP-сервису)
<ИмяWebСервиса>Имя объекта метаданных
<АдресWebСервиса>Свойство Имя файла публикации (можно изменить при публикации)

Оба варианта адреса равносильны. При разделении данных разделители — только в URL базы.


Создание Web-сервиса

  1. Общие → Web-сервисы — новый сервис.
  2. Свойства:
    • URI пространства имён — идентификация в WSDL;
    • Пакеты XDTO — типы параметров и возвращаемых значений;
    • Имя файла публикации — альтернативный сегмент URL.
  3. Операции — имя, тип возврата (XDTO), параметры (Входной / Выходной / Входной-выходной).
  4. Модуль Web-сервиса — процедуры операций; сигнатуры согласованы с XDTO.

Типы параметров — значения XDTO или объекты XDTO из пакетов конфигурации. Подробнее — 1310.md.

  1. Администрирование → Публикация на веб-сервере — включить нужные Web-сервисы.

Web-сервисы можно добавлять в расширениях; для выборочной публикации правят default.vrd, как у HTTP-сервисов.


Вызов из 1С (клиент)

Через WS-ссылку или прокси, сгенерированный по WSDL контрагента. Ошибки SOAP — элемент Fault в ответе; обрабатывайте через 119.md.

Для новых интеграций чаще выбирают HTTP-сервисы или OData. SOAP остаётся там, где контракт зафиксирован WSDL и требует формальной XSD-схемы.


Связанные материалы


Проверка себя

  • Чем ws отличается от hs в URL?
  • Зачем Web-сервису пакет XDTO?
  • Когда выберете SOAP вместо HTTP-сервиса?

См. также

Другие статьи этого же раздела в боковом меню (как на странице "О разделе").