2016-07-05 65 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以輸出。