在 WSO2 中读取 JMS 映射消息

Reading a JMS Map Message in WSO2

我正在阅读来自 WSO2 ESB 的 JMS 映射消息。我可以拿起邮件,阅读所有 header,但无法阅读邮件 body 中的任何内容。我创建了一个自定义调解器,当我尝试以下操作并在 header 中提交带有 MSG_FORMAT 属性 的 JMS 消息时,它工作正常。但是,当我将 属性 放在地图 Body 中时,WSO2 不会拾取它。下面的代码可以读取 header,但不会读取地图 Body

public boolean mediate(MessageContext context) {
        String msgFormat = context.getProperty(MSG_FORMAT).toString();

有什么想法吗?

根据您的解释,当您从 JMS 队列中消费时,您似乎正在尝试读取自定义中介中的消息。

为了阅读消息,您可以在中介方法中使用以下代码:

public boolean mediate(MessageContext context) {
        String msgFormat = context.getProperty(MSG_FORMAT).toString();
        SOAPEnvelope envelope = synCtx.getEnvelope()
....

参考:https://synapse.apache.org/apidocs/org/apache/synapse/MessageContext.html