Apache camel Talend ESB在路由中将xml转换为json
有人知道如何在Talend ESB路由中将xml转换为json和json转换为xml吗? 当我在作业中收到rest消息时,我可以配置“消费”和“生产”,但如何在路由中实现这一点。我需要对rest消息进行一些中介,所以我必须使用Route(基于内容的路由),因为EIP在路由中 例如:Apache camel Talend ESB在路由中将xml转换为json,apache-camel,esb,talend,eip,Apache Camel,Esb,Talend,Eip,有人知道如何在Talend ESB路由中将xml转换为json和json转换为xml吗? 当我在作业中收到rest消息时,我可以配置“消费”和“生产”,但如何在路由中实现这一点。我需要对rest消息进行一些中介,所以我必须使用Route(基于内容的路由),因为EIP在路由中 例如: RestEndpoint_IN->MessageRouter->ConvertXmlToJson->RestEndpoint_Out. 作为回应,我需要: RestEndpoint_Out->
RestEndpoint_IN->MessageRouter->ConvertXmlToJson->RestEndpoint_Out.
作为回应,我需要:
RestEndpoint_Out->ConvertJsonToXml->RestEndpoint_IN
有一些java函数可以为您完成这项工作,只需在bean中编写代码并将其添加到路由中(或将调用它的cProcessor),只需使用“exchange.getIn().getBody(String.class)”获取消息内容,对其进行转换,然后使用“exchange.getIn().setBody()”设置结果您可以使用xmljson驼峰组件来实现这一点 步骤:
- 验证talend lib文件夹中是否有XOM库。(Talend ESB\Runtime\u ESBSE\lib)。 在当前的talend安装中,它似乎丢失了,您可以从这里获得它:(如果必须复制它,请重新启动talend)
- 如果您还没有cConfig小部件,请在路由中添加一个。在基本设置->依赖项中添加xom库。现在,您可以只使用组件了;从这里往前走很直
- 添加cMessagingEndpoint小部件
- 在URI中,使用“dataformat:xmljson:unmarshal?”将json转换为xml。如果需要从xml转换为json,请使用“dataformat:xmljson:marshal?”
- 在高级设置选项卡中,选择xmljson
- 您可以将小部件重命名为类似“将正文转换为XML”的名称