我有一个REST服务,我想通过wso2 ESB使用.该服务返回一个
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之前修改邮件正文吗?
最佳答案 在synapse中介引擎级别,您无法访问json消息.在JSON构建器级别,它将json消息转换为xml消息.因此,您需要访问xml元素并在那里进行修改.
.messageContext.getEnvelope()getBody()getFirstElement();
你可以得到上面给出的xml元素.