首页 > 解决方案 > WSO2:从传出的 IBM MQ 消息中删除 MQRFH2 标头

问题描述

我面临一个问题,即接收应用程序(IBM MQ 的消费者/侦听器)无法处理 MQHRF2 格式,而是期望使用原始 MQSTR 格式。

当使用 WSO2 Integrator (v. 6.1.1) 将普通的旧 XML 消息放入队列时,接收应用程序会看到:

RFH     €    zMQSTR      z   <mcd><Msd>jms_text</Msd></mcd>     X<jms>
<Dst>queue://QUEUE_ALIAS</Dst><Tms>1532002363544</Tms><Dlv>2</Dlv></jms>

在我的 XML 消息之前,它在 JMS 标记之后开始。

如何强制 WSO2 将 MQSTR 而不是 MQRFH2 放入 Websphere MQ?我在通过我的端点发送之前尝试了以下属性,但它没有效果。

<property name="JMS_IBM_FORMAT" value="MQSTR" scope="transport" type="STRING" action="set"/>
<send>
    <endpoint key="conf:/endpoints/MY_ENDPOINT.xml"/>
</send>

端点仅定义为:

<endpoint name="MY_ENDPOINT" xmlns="http://ws.apache.org/ns/synapse">
    <address format="pox" uri="jms://QUEUE_ALIAS"/>
</endpoint>

标签: wso2ibm-mq

解决方案


RFH2 标头由 MQ 添加。如果您不需要它,请将 targetClient=1 添加到位置 URI,例如:

queue:///MYQUEUE?targetClient=1

http://www.mqseries.net/phpBB2/viewtopic.php?=&p=171236


推荐阅读