В этом разделе приведено описание вариантов реализации разбивки сообщения, содержащего массив элементов.
В Платформу отправляется сообщение, содержащее массив элементов. Платформа разбивает полученное сообщение на отдельные сообщения и отправляет их Системе-получателю.
int re = InitMessage.BodyArrayCount();
for(int i = 0; i < re; i++)
{
Message newMessage = new Message();
newMessage.SetBody(InitMessage.CastToDataType<Человек>(i));
SetMessage(newMessage);
Logger.Info($"выбрал - {newMessage}");
Transport.RegisterMessage(newMessage);
}
В Центре Мониторинга и администрирования в Системе-получателе в сценарии разбивки сообщения на вкладке Очередь будут отображаться два сообщения. Каждое сообщение содержит один элемент массива.
В результате будет выполнено разделение массива поэлементно, и на каждый элемент массива зарегистрировано новое сообщение с приведением к типу данных.
Для реализации второго варианта сценария созданы следующие элементы:
foreach(var item in ИнициирующееСообщение)
{
Logger.Verbose($"Регистрация сообщения {item}");
Message message = new Message();
message.SetBody(item);
SetOutMessage(message);
}
Бизнес процесс Процесс сценария разбивки сообщения 2 вариант со следующими параметрами:
В Центре Мониторинга и администрирования в Системе-получателе в сценарии разбивки сообщения на вкладке Очередь будут отображаться два сообщения. Каждое сообщение содержит один элемент массива.
В результате будет выполнено разделение массива поэлементно, и на каждый элемент массива зарегистрировано новое сообщение без приведения к типу данных.
foreach(var item in ИнициирующееСообщение) {
Logger.Verbose($"Регистрация сообщения {item}");
Message message = new Message();
РезультатВСценарииРазбивкиСообщения результат = new
РезультатВСценарииРазбивкиСообщения();
результат.Имя = item.Имя;
результат.Фамилия = item.Фамилия;
//Или заполнить все поля
//результат.InitFromJson(item.ToJson());
message.SetBody(результат);
SetOutMessage(message);
}
В Центре Мониторинга и администрирования в Системе-получателе в сценарии разбивки сообщения на вкладке Очередь будут отображаться два сообщения. Содержимое каждого сообщения соответствует отправленным элементам массива.
Для каждого элемента массива будет зарегистрировано новое сообщение. Исходное сообщение будет также отправлено.
Для реализации второго варианта сценария созданы следующие элементы:
foreach(var item in ИнициирующееСообщение)
{
Logger.Verbose($"Регистрация сообщения {item}");
Message message = new Message();
message.SetBody(item);
SetOutMessage(message);
}
Бизнес процесс Процесс сценария разбивки сообщения 4 вариант со следующими параметрами:
В Центре Мониторинга и администрирования в Системе-получателе в сценарии разбивки сообщения на вкладке Очередь будут отображаться три сообщения. Содержимое каждого сообщения соответствует отправленным элементам массива и его элементам.