Обогащение сообщения
В этом разделе описан вариант обогащения сообщения, при котором для регистрации пользователя в Платформу отправляется сообщение, содержащее имя, профессию и пол пользователя. ППлатформа отправляет это сообщение в систему-источник данных, в которой происходит регистрация пользователя. Ответ с именем, родом деятельности, идентификатором и временем регистрации созданного пользователя возвращается в платформу. В Платформе в тип данных записывается информация, отправленная из системы-отправителя и полученная из системы-источника. После этого сообщение отправляется в систему-получателя.
Предварительная настройка
Создайте следующие элементы:
Инициирующий запрос для сценария с обогащением
Внешний тип Инициирующий запрос для сценария с обогащением
Тип Ответ от системы источника в сценарии обогащения
Тип Обогащенное сообщение
Инициация процесса
Инициатором выступает Система-отправитель в сценарии с обогащением, на которую поступает сообщение, соответствующее внешнему типу Инициирующий запрос для сценария с обогащением для запуска процесса.
Тип: Расширенное Rest API
Порт для публикации API: указан порт, который будет использоваться данной системой (должен быть свободным).
Инициирующий запрос в сценарии с обогащением
К системе Система-отправитель в сценарии с обогащением привязан обработчик Инициирующий запрос в сценарии с обогащением.
Тип: Веб-обработчик
Шаблон пути: /СценарийОбогащениеИнициирующийЗапрос
Тип метода: Post
На вкладке В Platform добавлена переменная ИнициирующийЗапрос с типом - внешний тип Инициирующий запрос для сценария с обогащением
Процесс обогащения сообщения
Запускать автоматически: включено
Переменная обработки: переменная ИнициирующийЗапрос с внешним типом Инициирующий запрос для сценария с обогащением.
Также добавлены переменные:
Ответ с типом Ответ от системы источника в сценарии обогащения
Обогащенное Сообщение с типом ОбогащенноеСообщение
На схему добавлены следующие шаги:
Отправка
Сообщение: переменная ИнициирующийЗапрос
Обработчик: Запрос в систему источник в сценарии с обогащением
Тип получателя: Модуль
Получатель: Система-источник в сценарии с обогащением
Ожидание: Ожидать ответа
Время ожидания: 50000(мс)
На вкладке Результат выполнения смапплено ОтветноеСообщение с переменной Ответ:
Система-источник в сценарии с обогащением
Системой-источником данных выступает внешняя система с типом Веб-сервис, настроенная на тестовый сервис https://reqres.in/. Этот сервис предоставляет ресурсы для тестирования REST API.
Запрос отправляется на https://reqres.in/api/users
Тип: Веб-сервисы
Протокол: Rest
Формат: JSON
Способ получения сообщений из Platform: Platform вызывает методы Внешнего сервиса
Базовый URL сервиса подключаемой системы: https://reqres.in/
Запрос в систему источник в сценарии с обогащением
К Системе-источнику в сценарии с обогащением привязан обработчик Запрос в систему источник в сценарии с обогащением.
Тип: Веб-клиент
Направление интеграции: Из Platform
Шаблон пути: api/users
Тип метода: Post
Ожидание ответа: включено
На вкладке Из Platform добавлена переменная Запрос с внешним типом Инициирующий запрос для сценария с обогащением.
Установка переменных
Из переменной ИнициирующийЗапрос смапплены поля name_(name), job и gender в поля ОбогащенногоСообщения Имя, Профессия и Пол соответственно.
Из переменной Ответ смапплены поля id и createdAt в поля ОбогащенногоСообщения Идентификатор и ДатаРегистрации соответственно.
Отправка
Сообщение: ОбогащенноеСообщение
Получатель: Система-получатель в сценарии с обогащением
Ожидание: Ожидание не требуется
Система-получатель в сценарии с обогащением
Тип: Веб-сервисы
Протокол - Rest
Формат - JSON
Способ получения сообщений в Platform - Внешний сервис вызывает методы Platform
Порт: должен быть свободным
Демо-пример
Успешная обработка сообщения, получение обогащенного сообщения
Вариант 1: Отправка из Postman
Создайте запрос в Postman и выполните отправку.
Выберите метод Post.
В поле URL введите адрес Системы-отправителя в сценарии с обогащением + шаблон пути обработчика Инициирующий запрос для сценария с обогащением
В тело введите следующий код:
{ "name":"Ivan", "job":"dentist", "gender":"male" }
Результат: ответ 200
В Центре Мониторинга в систему СистемаПолучательВСценарииСОбогащением» в очередь пришло обогащенное сообщение:
Вариант 2: Отправка из Swagger
Откройте swagger системы Система-отправитель в сценарии с обогащением.
Разверните метод с обработчиком Инициирующий запрос для сценария с обогащением.
Добавьте следующий код в Request body:
{ "name":"Ivan", "job":"dentist", "gender":"male" }
Нажмите на кнопку Excute
Результат: ответ 200
В Центре Мониторинга и администрирования в систему Система-получатель в сценарии с обогащением в очередь пришло обогащенное сообщение.