Свойства узла процесса интеграции вида «МаршрутизаторПоСодержимому»
Узел этого вида предназначен для того, чтобы определять, в какие узлы из тех, что идут непосредственно за этим узлом, должны попасть сообщения.
Свойства узла
-
Имя
Имя узла, уникальное в рамках процесса интеграции. Используется для обращения к узлу из встроенного языка (
УзелСхемыИнтеграции
.Имя
). Должно начинаться с буквы, за которой следуют буквы, цифры или символы '_' (нижнее подчеркивание). Минимальная длина — 2 символа -
Описание
Произвольное описание узла для разработчика. Используется при редактировании схемы процесса интеграции. Недоступно из встроенного языка
-
ОбновлениеМетрик
Обработчик, внутри которого можно обновлять метрики, добавленные в проект разработчиком. Пример:
// Разработчик добавил в проект метрику «СчетчикВУзле». Тогда обновить метрику в узлах
// можно следующим образом:
метод ОбновлениеМетрик(Контекст: МойПроцессИнтеграции.КонтекстВызова, Сообщение: МойПроцессИнтеграции.Сообщение)
пер СчетчикВУзле = МойПроцессИнтеграции.Метрики["СчетчикВУзле"]
СчетчикВУзле.Обновить(Сообщение.УзлыПути.Текущий.Узел.Имя, 1)
; -
ВыборПолучателей
Обработчик, который позволяет определить получателей сообщения. Возвращает набор узлов, в которые сообщение должно быть передано.
Пример и спользования
Контекст: Приложение хочет отправить сообщение по протоколу HTTP другой информационной системе. У сообщения может быть две версии формата: новая — которую получатель сможет обработать, и старая — которую получатель обработать не сможет. Если в процесс интеграции поступает сообщение старой версии формата, его формат вначале преобразуется к новой версии, и только после этого доставляется получателю.
Задача: В процессе обмена определить версию формата входящего сообщения, и в зависимости от версии либо отправить сообщение получателю как есть, либо предварительно преобразовать его в нужный формат и затем доставить потребителю.
Решение: Используем ПрограммныйИсточник, как узел, при помощи которого сообщение из обработчика HTTP-сервиса программно отправляется в процесс интеграции. Из программного источника сообщение попадает в контекстный маршрут изатор, в котором сообщение, в зависимости от того, что в нем содержится, либо попадает в узел-транслятор «Трансформация» и преобразуется к нужному формату, либо напрямую попадает в узел 1СНазначение («V2»). Трансформированное сообщение также потом попадает в узел 1СНазначение («V1»).
Обработчик выбора получателей:
метод ТрансформироватьИлиНет(Контекст: КонтекстВызоваИнтеграции, Сообщение: МаршрутизаторПример2.Сообщение): Коллекция<УзелСхемыИнтеграции>
пер СледующийУзел = Сообщение.ПолучитьПараметр("Формат") == 1
? Схема.Узлы.Трансформация
: Схема.Узлы.V2
возврат [СледующийУзел]
;