wso2 - 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>
解决方案
RFH2 标头由 MQ 添加。如果您不需要它,请将 targetClient=1 添加到位置 URI,例如:
queue:///MYQUEUE?targetClient=1
推荐阅读
- javascript - 如何在使用 javascript 构建的秒表中更改暂停以继续,反之亦然
- c - printf 和 ESP_LOGI 的区别?
- html - CSS背景渐变不完全在背景图片之上
- node.js - HandlebarsJs Nodejs 和 JWT
- reinforcement-learning - LunarLander v2 openai 健身房的直升机停机坪坐标
- javascript - 正确处理长时间运行的请求中的 HTTP 连接生命周期
- django-models - 从模型激活信号以创建目录文件夹
- azure - Canvas 应用程序中的认知服务 - 连接错误
- plot - 在 X 轴上绘制非时间列,在 Grafana 中的 Y 轴上绘制它们的值
- java - 即使在 Eclipse 中删除工作区后,也无法从推荐中删除工作区