WSO2:从传出的IBM MQ消息中除去MQRFH2标头

时间:2018-07-20 07:16:42

标签: wso2 ibm-mq

我正面临一个问题,即接收应用程序(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>

2 个答案:

答案 0 :(得分:0)

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

queue:///MYQUEUE?targetClient=1

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

答案 1 :(得分:0)

更改应用程序从中获取的队列定义,如下所示:-

ALTER QLOCAL(q-name) PROPCTL(NONE)