我正在使用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
回答
這是IBM MQ團隊所做的那些事情之一,總會引起與新手的混淆。
'MQRFH2'是一個具有標題和一個或多個'文件夾'的結構。它位於消息數據(有效負載)的前面。
MQMessage的MD有一個名爲'format'的字段,當你有一個包含MQRFH2結構的消息時,MD的格式的值是'MQHRF2'(8個字符)。因此,正確創建的MQ/JMS aka(MQRFH2消息)將具有消息的MD格式字段,其值爲'MQHRF2'。
因此,您正在發送格式正確的消息 - 由於IBM的奇怪,您只是感到困惑。
注意:他們對其他內部消息結構做了同樣的事情。即MQIIH使用MQIMS格式,MQCIH使用MQCICS格式等。
謝謝羅傑,但中間件團隊期待MQRFH2調用SAP bapi服務,所以有什麼方法可以設置或者中間件團隊必須在其末尾更改嗎? – Nitin
沒有MD格式字段設置爲'MQRFH2'的MQRFH2消息。 MQRFH2消息(又名JMS)必須將MD格式字段設置爲'MQHRF2'。中間件團隊顯然不瞭解MQ。閱讀以下IBM支持文檔:http://www-01.ibm.com/support/docview.wss?uid=swg27017014它介紹瞭如何查看MQRFH2消息。向下滾動到消息的amqsbcg顯示,您將看到格式:'MQHRF2'以BOLD表示。 – Roger
非常感謝Roger,我們也得到了IBM的同樣迴應。 – Nitin
- 1. 發送IBM MQ消息以及MQMD和MQRFH2標頭
- 2. Broker如何知道存在MQRFH2標頭
- 3. Spring Stream試圖創建主題而不是隊列IBM MQueue
- 4. 獲取NaN而不是值
- 5. 獲取,而不是Microsoft.SharePoint.Client.FieldUserValue
- 6. 從Mysql獲取數據,而不是XML?
- 7. 從MySQL查詢獲取,而不是表
- 8. 從視頻獲取幀,而不是MediaMetadataRetriever
- 9. 獲取int,而不是從,和strchr
- 10. 從xmlhttp.responseText獲取HTML而不是JSON
- 11. camel jms沒有從IBM MQ獲取消息
- 12. IBM MQ vs JMS - Spring實現
- 13. 團隊構建 - 獲取工作區 - 從特定路徑獲取最新信息,而不是所有內容
- 14. 在JMS中獲取消息類型 - IBM MQ
- 15. 如何從團隊中獲取團隊用戶從輸入中獲取
- 16. 爲Java而不是JMS使用WebSphere MQ類有什麼好處?
- 17. 從函數參數中獲取輸入,而不是文件
- 18. 如何從getDateCellValue獲取日期值而不是時間
- 19. 獲取容器VC而不是視圖
- 20. 獲取鏈接,而不是在ASP.NET MVC
- 21. 獲取TruncatedSVD.transform()返回float16而不是float64
- 22. 獲取符號而不是INT
- 23. 獲取EXC_BAD_INSTRUCTION而不是失敗
- 24. Xamarin__HttpClient__HttpResponseMessage-Content ---獲取HTML而不是JSON
- 25. JQuery獲取ID或類,而不是值
- 26. mysql_fetch_row獲取列而不是行
- 27. 獲取塔位置而不是GPS
- 28. 獲取源代碼,而不是iframe
- 29. 獲取值而不是整個查詢
- 30. 獲取,而不是布爾值
請澄清您的問題,中間件團隊是否需要MQRFH2(使用JMS節點解析中間件或者使用WMB)或頭文件或MQSTR頭文件(使用MQ節點解析)?據我所知,你正在發送MQRFH2和中間件需要MQSTR?如果您使用的是JMS,那麼您如何爲QCF和隊列執行JNDI查找? –
中間件期望MQRFH2,但是從我們的春季編碼方面來說,它正在創建MQHRF2。我嘗試設置使用MQMD格式但仍然發送MQHRF2 – Nitin