我想通过wso2 ESB使用REST服务。该服务返回一个JSON对象。但是,我希望在之前修改JSON 进入ESB并进行处理。
我已经设法部署了一个自定义类中介,但我不知道如何用它处理消息体(JSON对象)。这是正确的方法吗?
我的服务配置目前看起来像这样:
<proxy xmlns="http://ws.apache.org/ns/synapse" name="ListRm" transports="https,http" statistics="disable" trace="disable" startOnLoad="true">
<target>
<outSequence>
<class name="org.mediator.MyMediator" />
<send />
<drop />
</outSequence>
<endpoint>
<address uri="http://xx.xx.xxx.xx:8080/alfresco/s/slingshot/datalists/lists/site/rm/documentLibrary" />
</endpoint>
</target>
</proxy>
还有其他方法可以在邮件进入ESB之前修改邮件正文吗?
答案 0 :(得分:2)
在synapse中介引擎级别,您无法访问json消息。在JSON构建器级别,它将json消息转换为xml消息。因此,您需要访问xml元素并在那里进行修改。
messageContext.getEnvelope()getBody()getFirstElement();
你可以得到上面给出的xml元素。