2016-07-05 64 views
0

我以前使用过其他集成框架和库,总的来说,它们处理消息正文或负载的方式是放弃除最新“更新”之外的所有内容。这里是我的意思的一个例子:我如何覆盖骆驼身体?

来自队列的XML消息(有效载荷是XML消息) - >使用XPath从XML中获取某些东西(有效载荷仍然是XML消息) - >调用一些REST API(有效载荷仍然是XML消息) - >从REST API返回(现在有效负载是REST API返回的)

我正在寻找这种骆驼行为。目前Camel正在做的是在“从REST API返回”之后,有效负载是REST API返回的附带的原始XML消息

对于我来说,只引用REST API返回的有效负载/正文的最佳方式是什么?

+0

你能分享一个例子吗?骆驼不会“追加”,每个处理器都可以更改'in'消息并设置它的“当前”值(覆盖之前存在的任何东西) –

+0

如果没有看到你的路由是如何建立的,那么很难评论。一般来说,每次通话后您的交换都会被覆盖,所以您看到的情况不应该发生。但需要看你的路线给你一个更好的答案。 –

+0

此行为听起来不对。你能张贴你的路线吗? 在对外部API进行简单的REST调用之后,REST API响应将/应该覆盖实际的骆驼主体。 – gnanagurus

回答

0

交换机构{exchange.getIn()。getBody()}将只包含REST API的响应。请检查API如何形成响应,它可能会附加输入xml以输出。