Как брокер узнает, что есть заголовок MQRFH2

У нас есть вычислительный узел, который копирует OutputRoot из InputRoot с заголовком MQRFH2, а затем устанавливает формат MQMD как «MQSTR» перед отправкой на узел MQOutput.

В моей локальной системе (MQ и WMB 7.0), когда я пытаюсь протестировать поток и просмотреть очередь вывода из RFHUTILC, сообщение все еще имеет формат MQMD как MQHRF2 с правильными деталями заголовка MQRFH2.

Хотя этот же поток при тестировании в других тестовых регионах дает выходное сообщение с пустым форматом MQMD, а детали RFH2 входят в полезную нагрузку сообщения.

В чем может быть причина такой разницы?


person Vikram    schedule 28.02.2017    source источник


Ответы (1)


Входное сообщение будет иметь заголовок RFH2 в InputRoot.MQRFH2 или в InputRoot.MQRFH2C, если вы используете компактный синтаксический анализатор для RFH2, который будет скопирован в OutputRoot, а брокер устанавливает формат MQMD на MQHRF2, когда видит этот заголовок в OutputRoot.

Чтобы удалить заголовок RFH2, вы должны сделать что-то вроде этого:

SET OutputRoot.MQMD.Format = OutputRoot.MQRFH2.Format;
SET OutputRoot.MQRFH2 = NULL;

Я не могу придумать объяснения различного поведения, которое вы видите, и у меня нет брокера V7 для тестирования. Кстати, у вас тоже не должно быть ни одного, так как он уже не поддерживается.

person Attila Repasi    schedule 01.03.2017
comment
Фактический сценарий, при котором заголовок RFH2 не поступает, - это сообщение с отчетом об истечении срока действия (сообщение было сохранено с опцией отчета для отправки обратно полных данных по истечении срока действия), но полезная нагрузка сообщения начинается как RFH ... ‹usr› [правильные данные usr из исходного сообщения] ‹/Usr›. Я попытался смоделировать то же самое в своей локальной системе, но в моей локальной системе нет полезной нагрузки / данных сообщения, но сообщение имеет правильный заголовок RFH2 как исходное сообщение. Любая идея, в чем может быть проблема. - person Vikram; 08.03.2017