Как брокер узнает, что существует заголовок MQRFH2
У нас есть вычислительный узел, который копирует OutputRoot из InputRoot с заголовком MQRFH2, а затем устанавливает формат MQMD как "MQSTR" перед отправкой его на узел MQOutput.
В моей локальной системе (MQ и WMB 7.0), когда я пытаюсь протестировать поток и просмотреть очередь вывода из RFHUTILC, сообщение все еще имеет формат MQMD как MQHRF2 с надлежащими подробностями заголовка MQRFH2.
Хотя этот же поток при тестировании в других тестовых регионах выдает выходное сообщение с пустым форматом MQMD, а подробности RFH2 поступают в полезную нагрузку сообщения.
В чем может быть причина этой разницы?
1 ответ
Входное сообщение будет иметь заголовок RFH2 в InputRoot.MQRFH2 или в InputRoot.MQRFH2C, если вы используете компактный анализатор для RFH2, который будет скопирован в OutputRoot, и Broker устанавливает формат MQMD в MQHRF2, когда он видит этот заголовок в OutputRoot.
Чтобы удалить заголовок RFH2, вы должны сделать что-то вроде этого:
SET OutputRoot.MQMD.Format = OutputRoot.MQRFH2.Format;
SET OutputRoot.MQRFH2 = NULL;
Я не могу придумать объяснения различного поведения, которое вы видите, и у меня нет брокера V7 для тестирования. Между прочим, у вас не должно быть ни одного, поскольку это вне поддержки.