2016-07-26 30 views
0

我正在使用Spring JMS IBM MQ連接SAP bapi服務,但發送jms messageit時根據MQHRF2而不是MQRFH2自動創建MQMD頭到中間件團隊,這是不正確的。因此,請求您在此請幫助。我使用Spring JMS IBM MQ連接SAP BAPI服務,以便我將jms消息發送到中間件,但他們正在獲取MQHRF2頭而不是MQRFH2。所以爲了改變這個我必須做的?我試圖設置非jms(MQSTR),但它仍然只發送MQHRF2。獲取MQHRF2 MQMD頭而不是MQRFH2,中間件團隊從Spring JMS獲取MQHRF2而不是MQRFH2 IBM MQ

+0

請澄清您的問題,中間件團隊是否需要MQRFH2(使用JMS節點解析中間件或者使用WMB)或頭文件或MQSTR頭文件(使用MQ節點解析)?據我所知,你正在發送MQRFH2和中間件需要MQSTR?如果您使用的是JMS,那麼您如何爲QCF和隊列執行JNDI查找? –

+0

中間件期望MQRFH2,但是從我們的春季編碼方面來說,它正在創建MQHRF2。我嘗試設置使用MQMD格式但仍然發送MQHRF2 – Nitin

回答

3

這是IBM MQ團隊所做的那些事情之一,總會引起與新手的混淆。

'MQRFH2'是一個具有標題和一個或多個'文件夾'的結構。它位於消息數據(有效負載)的前面。

MQMessage的MD有一個名爲'format'的字段,當你有一個包含MQRFH2結構的消息時,MD的格式的值是'MQHRF2'(8個字符)。因此,正確創建的MQ/JMS aka(MQRFH2消息)將具有消息的MD格式字段,其值爲'MQHRF2'。

因此,您正在發送格式正確的消息 - 由於IBM的奇怪,您只是感到困惑。

注意:他們對其他內部消息結構做了同樣的事情。即MQIIH使用MQIMS格式,MQCIH使用MQCICS格式等。

+0

謝謝羅傑,但中間件團隊期待MQRFH2調用SAP bapi服務,所以有什麼方法可以設置或者中間件團隊必須在其末尾更改嗎? – Nitin

+0

沒有MD格式字段設置爲'MQRFH2'的MQRFH2消息。 MQRFH2消息(又名JMS)必須將MD格式字段設置爲'MQHRF2'。中間件團隊顯然不瞭解MQ。閱讀以下IBM支持文檔:http://www-01.ibm.com/support/docview.wss?uid=swg27017014它介紹瞭如何查看MQRFH2消息。向下滾動到消息的amqsbcg顯示,您將看到格式:'MQHRF2'以BOLD表示。 – Roger

+0

非常感謝Roger,我們也得到了IBM的同樣迴應。 – Nitin