在 WSO2 ESB 的中介期间检索 ActiveMQ Header

Retrieve ActiveMQ Header during mediation in WSO2 ESB

我的 ActiveMQ 客户端在向 ActiveMQ Queue 发送消息时设置了一些自定义 header,如下所示

          MessageProducer producer = session.createProducer(destination);
          TextMessage message = session.createTextMessage("<Message>Test</Message>");
          
          message.setStringProperty("ID", "XYZ");
          message.setStringProperty("CODE", "COUNTRY_CODE");
          
          producer.send(message);

在 WSO2 ESB 序列中,我试图检索 "ID" 和 "CODE" 作为

   <property xmlns:ns="http://org.apache.synapse/xsd" xmlns:ns3="http://org.apache.synapse/xsd" name="ID" expression="get-property('axis2', 'ID')" scope="default" type="STRING"/>
   <property xmlns:ns="http://org.apache.synapse/xsd" xmlns:ns3="http://org.apache.synapse/xsd" name="CODE" expression="get-property('axis2', 'CODE')" scope="default" type="STRING"/>

但这是返回空值,我什至尝试将范围设置为传输。请指教

您必须使用以下表达式,因为自定义 jms headers 存储在传输层中。

 <property name="CREATE_PROXY - Config Params"
                  expression="get-property('transport','TRANSPORT_ID')"/>