获取 MQHRF2 MQMD header 而不是 MQRFH2,中间件团队从 Spring JMS IBM MQ 获取 MQHRF2 而不是 MQRFH2

Getting MQHRF2 MQMD header instead of MQRFH2,Middleware team getting MQHRF2 instead of MQRFH2 from Spring JMS IBM MQ

我正在使用 Spring JMS IBM MQ 连接 SAP bapi 服务,但在发送 jms 消息时,根据中间件团队的说法,它会自动创建 MQMD header 作为 MQHRF2 而不是 MQRFH2,这是不正确的。所以请求你在这方面提供帮助。,我正在使用 Spring JMS IBM MQ 连接 SAP BAPI 服务,以便我将 jms 消息发送到中间件,但他们得到的是 MQHRF2 header 而不是 MQRFH2 .所以为了改变这个我必须做什么???我尝试设置非 jms (MQSTR),但它仍然只发送 MQHRF2。

这是 IBM MQ 团队所做的事情之一,总是让新手感到困惑。

一个'MQRFH2'是一个有一个header和1个或多个'folders'的结构。它位于您的消息数据(有效负载)的前面。

MQMessage 的 MD 有一个名为 'format' 的字段,当您有包含 MQRFH2 结构的消息时,MD 的格式值为 'MQHRF2 '(8 个字符)。

因此,正确创建的 MQ/JMS aka(MQRFH2 消息)的消息 MD 格式字段的值为 'MQHRF2 '。

因此,您发送的是格式正确的消息 - 您只是因为 IBM 的怪异而感到困惑。

注意:他们对其他内部消息结构做了同样的事情。即 MQIIH 使用 MQIMS 格式,MQCIH 使用 MQCICS 格式等