2017-02-28 118 views
0

我們有一個計算節點,它從具有MQRFH2標頭的InputRoot複製OutputRoot,然後在將MQMD格式發送到MQOutput節點之前將其設置爲'MQSTR'。Broker如何知道存在MQRFH2標頭

在我的本地系統(MQ和WMB 7.0)上,當我嘗試從RFHUTILC測試流程和瀏覽輸出隊列時,消息仍然具有MQMD格式作爲MQHRF2並具有適當的MQRFH2標頭詳細信息。

雖然在其他測試區域進行測試時,這種相同的流程會給出空白MQMD格式的輸出消息,而RFH2細節會進入消息有效載荷。

這種差異的原因是什麼?

回答

0

如果您使用RFH2的緊湊語法分析器(將被複制到OutputRoot中),並且Broker將MQMD格式設置爲MQHRF2時,輸入消息將在InputRoot.MQRFH2或InputRoot.MQRFH2C處具有RFH2頭OutputRoot中的那個頭文件。

要刪除RFH2頭,你應該做這樣的事情:

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

我想不出你看到不同的行爲作出解釋,而我沒有經紀人V7進行測試。順便說一句,你不應該有一個,因爲它是不受支持的。

+0

RFH2頭未到達的實際情況是過期報告消息(消息與報告選項一起存儲,以在有效期內發回完整數據),但消息有效負載以RFH開頭...... [正確的來自原始消息的usr數據]。我嘗試在本地系統上模擬相同的信息,但在本地系統上沒有消息有效負載/數據,但消息具有正確的RFH2標頭作爲原始消息。任何想法可能是什麼問題。 – Vikram