我正面临一个问题,即接收应用程序(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>
答案 0 :(得分:0)
RFH2头由MQ添加。如果不需要,请将targetClient = 1添加到位置URI,例如:
queue:///MYQUEUE?targetClient=1
答案 1 :(得分:0)
更改应用程序从中获取的队列定义,如下所示:-
ALTER QLOCAL(q-name) PROPCTL(NONE)