【问题标题】:Reading a JMS Map Message in WSO2在 WSO2 中读取 JMS 映射消息
【发布时间】:2016-11-22 00:08:35
【问题描述】:

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

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

有什么想法吗?

【问题讨论】:

  • “地图主体”到底是什么意思?你可以在这里发布示例消息吗?
  • 与其自己解释,不如参考文档。 docs.oracle.com/cd/E19798-01/821-1841/bnces/index.html 标题、属性和正文。我可以使用 context.getProperty() 方法访问标题和属性中的任何内容,但我不知道如何访问正文。

标签: java wso2 wso2esb


【解决方案1】:

根据您的解释,当您从 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

【讨论】:

  • 谢谢,通过 SOAP 信封提取消息体工作正常。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-22
  • 1970-01-01
  • 1970-01-01
  • 2013-08-09
  • 1970-01-01
  • 2019-06-27
相关资源
最近更新 更多