如何在WSO2 Integrator中向邮件添加 IBM MQ Correlation ID头?
我有一个场景,我从MQ接收消息,使用一些介体转换消息,并调用后端服务,并且需要使用WSO2 Integrator(版本6.1.1)将转换后的消息答复到另一个(MQ)队列。 )。收到邮件的客户端希望在我的回复中找到与其原始邮件相同的相关ID。
IBM告诉我属性是这个:
放置在消息的MQMD中的CorrelationId 一个队列。
定义于:MQMessage类
数据类型:24个字符的字符串
语法:获取:correlid $ = MQMessage.CorrelationId设置:MQMessage.CorrelationId = correlid $
https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_7.5.0/com.ibm.mq.dev.doc/q034650_.htm
答案 0 :(得分:1)
原来,这是一个简单的解决方案。必须在 axis2范围中专门设置JMS_COORELATION_ID属性。
所以这可行:
<property name="JMS_COORELATION_ID" value="MyCoorelationId" scope="axis2" xmlns:ns="http://org.apache.synapse/xsd"/>
使用任何其他范围,例如默认范围或传输范围,不会:
<property name="JMS_COORELATION_ID" value="MyCoorelationId" scope="transport" xmlns:ns="http://org.apache.synapse/xsd"/>
<property name="JMS_COORELATION_ID" value="MyCoorelationId" scope="default" xmlns:ns="http://org.apache.synapse/xsd"/>
不幸的是,WSO2文档令人恐惧,并且没有提及其他范围不起作用。希望这可以节省将来的时间。