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

Создание и редактирование элемента «SOAP-сервис»

SOAP-сервис позволяет «1С:Шине» обрабатывать входящие SOAP-запросы, поступающие от внешних информационных систем. Например, процесс интеграции может быть настроен следующим образом: внешняя система отправляет сообщение по протоколу SOAP в «1С:Шину», после чего в SOAP-сервисе «1С:Шины» вызывается обработчик, который данное сообщение обрабатывает и передает дальше в узел вида ПрограммныйИсточник. Сама схема процесса интеграции может выглядеть следующим образом:

Схема процесса интеграции

Чтобы создать новый SOAP-сервис, можно нажать на значок плюса рядом с подсистемой Основной и затем выбрать SOAP-сервис:

Добавление элемента проекта

Добавление SOAP-сервиса

После чего следует задать имя SOAP-сервиса и нажать Ввод. В структуре проекта отобразится новый SOAP-сервис:

Новый элемент проекта «SOAP-сервис»

В панели Свойства следует задать два обязательных свойства: КорневойUrl и ПространствоИменСервиса:

Свойства SOAP-сервиса

Затем необходимо добавить обработчик. Для этого нажмите на значок плюса напротив пункта Обработчики:

Добавление обработчика SOAP-сервиса

Задайте имя обработчика и нажмите Ввод.

примечание

Имя обработчика не может содержать кириллицы и пробельных символов.

Если не задать имя вручную, то оно будет сгенерировано автоматически с использованием следующих схем:

Созданный вами обработчик отобразится во вкладке Обработчики:

Созданный обработчик

Следующим шагом следует задать метод для обработчика. Для этого в свойствах созданного вами обработчика в поле Метод введите имя метода и нажмите на значок плюса:

Задание метода обработчика

Откроется модуль SOAP-сервиса, в котором автоматически будет создан метод с заданным вами названием. Впишите в тело метода следующий код:

метод ПередатьДанныеВШину(Данные: Байты)
исп Тело = новый ВременныйПотокЗаписи()
Тело.Записать(Данные)
знч Сообщение = новый СообщениеИнтеграции({:}, Тело.ОткрытьПотокЧтения())
ОбменСSoap.ОтправитьСообщениеВУзлы(Сообщение, ОбменСSoap.Схема.Узлы.ИзSoapВШину)
;

При вызове клиентом операции messages SOAP-сервиса «1С:Шины», будет выполняться метод ПередатьДанныеВШину(). Данные, которые необходимо отправить в «1С:Шину», будут передаваться клиентом в параметре Данные. Из полученных данных будет сформировано сообщение интеграции, которое затем отправится в узел вида ПрограммныйИсточник.

В свойствах SOAP-сервиса в поле Контроль доступа также есть возможность указать пользователей, которым будет доступен вызов этого сервиса:

Свойства контроля доступа

Для того чтобы отправить сообщение в SOAP-сервис «1С:Шины», вам следует вызвать операцию messages из клиента сервиса и передать необходимые данные в параметре Данные«1С:Шине» вы также можете создать клиент SOAP-сервиса). SOAP-запросы к данному сервису будут обрабатываться по пути:

http://[адрес сервера]/applications/[имя приложения]/api/esbservice

См. также