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

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

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

Чтобы создать новый SOAP-сервис, можно кликнуть правой кнопкой мыши на подсистему Основной и затем выбрать НовыйЭлемент ПроектаSoap Сервис:

После чего следует задать имя Soap Сервиса и нажать Ввод:

В структуре проекта отобразится новый SOAP-сервис:

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

Затем необходимо добавить обработчик. Для этого кликните правой кнопкой мыши на Handlers, затем выберите НовыйОбработчик:

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

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

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

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

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

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

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

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

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

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

См. также