2016-11-17 61 views
0

一个JMS MAP消息我从WSO2 ESB阅读JMS MAP消息。我能够选择消息,读取所有标题,但不能读取消息正文中的任何内容。我创建了一个自定义介体,当我尝试以下操作并将头文件中的MSG_FORMAT属性提交给JMS消息时,它可以正常工作。但是,当我将该属性放入地图主体中时,WSO2不会提取它。下面的代码工作读取头,但不会读地图车身阅读在WSO2

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

有什么想法?

+0

究竟做u通过“地图的身体”是什么意思?你可以在这里发布样本消息吗? – maheeka

+0

而不是自己解释它,让我参考文档。 https://docs.oracle.com/cd/E19798-01/821-1841/bnces/index.html标题,属性和正文。我能够使用context.getProperty()方法访问标题和属性中的任何内容,但我不知道如何访问正文。 – user2254180

回答

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

+0

谢谢,通过SOAP信封提取邮件正文工作。 – user2254180