Создание и редактирование элемента «Soap Сервис»
SOAP-сервис позволяет «1С:Шине» обрабатывать входящие SOAP-запросы, поступающие от внешних информационных систем. Например, процесс интеграции может быть настроен следующим образом: внешняя система отправляет сообщение по протоколу SOAP в «1С:Шину», после чего в SOAP-сервисе «1С:Шины» вызывается обработчик, который данное сообщение обрабатывает и передает дальше в узел вида ПрограммныйИсточник. Сама схема процесса интеграции может выглядеть следующим образом:
Чтобы создать новый SOAP-сервис, можно кликнуть правой кнопкой мыши на подсистему Основной и затем выбрать :
После чего следует задать имя Soap Сервиса и нажать Ввод:
В структуре проекта отобразится новый SOAP-сервис:
В панели Свойства следует задать два обязательных свойства: КорневойUrl и ПространствоИменСервиса:
Затем необходимо добавить обработчик. Для этого кликните правой кнопкой мыши на Handlers, затем выберите :
Задайте имя обработчика и нажмите Ввод. Имя обработчика не может содержать кириллицу и пробельных символов. Созданный вами обработчик отобразится во вкладке Handlers:
Следующим шагом следует задать метод для обработчика. Для этого в свойствах созданного вами обработчика, в поле Метод, напишите имя, которым вы хотите назвать новый метод, и нажмите на изображение лупы:
Откроется модуль SOAP-сервиса, в котором автоматически будет создан метод с заданным вами названием. Впишите в тело метода следующий код:
метод ПередатьДанныеВШину(Данные: Байты)
исп Тело = новый ВременныйПотокЗаписи()
Тело.Записать(Данные)
знч Сообщение = новый СообщениеИнтеграции({:}, Тело.ОткрытьПотокЧтения())
ОбменСSoap.ОтправитьСообщениеВУзлы(Сообщение, ОбменСSoap.Схема.Узлы.ИзSoapВШину)
;
При вызове клиентом операции messages SOAP-сервиса «1С:Шины», будет выполняться метод ПередатьДанныеВШину. Данные, которые необходимо отправить в «1С:Шину», будут передаваться клиентом в параметре Данные. Из полученных данных будет сформировано сообщение интеграции, которое затем отправится в узел вида ПрограмныйИсточник.
В Свойствах SOAP-сервиса, в поле Контроль доступа, также есть возможность настроить пользователей, для которых будет доступен вызов этого сервиса:
http://[адрес сервера]/applications/[имя приложения]/api/esbservice
Подробнее о SOAP-сервисе можно почитать здесь.