2016-07-05 8 views
0

私は以前に他の統合フレームワークとライブラリを使用していましたが、一般的にメッセージ本文やペイロードを処理する方法は、最新の「更新」を除いてすべてを削除することです。Camel Bodyを上書きするにはどうすればいいですか?

XMLからのメッセージ(ペイロードはXMLメッセージ) - > XMLから何かを取得するためにXPathを使用する(ペイロードはまだXMLメッセージ) - >いくつかのREST APIをコールする(ペイロードはまだXMLメッセージ) - > REST APIからの復帰(ペイロードは現在REST APIが返したものすべてです)

私はこのような動作をCamelで探しています。今Camelが行っているのは、「Return from REST API」の後ろです。ペイロードは、REST APIが元のXMLメッセージを添付したを返したものです。

私には、REST APIが返すペイロード/ボディのみを参照する最も良い方法はありますか?

+0

例を共有できますか? Camelは "append"しません。すべてのプロセッサは 'in'メッセージを変更し、その"現在 "の値を設定します(前にあったものを上書きします)。 –

+0

あなたのルートがどのように構築されているかを見ることなく、一般に、各通話の後に交換機が上書きされるので、あなたが見ているものは起こらないはずです。しかし、あなたに良い答えを与えるためにあなたのルートを見なければなりません。 –

+0

この現象は正しく認識されません。あなたはあなたのルートを投稿できますか? 外部APIへの単純なREST呼び出しの後、REST API応答は実際のラクダボディを上書きします。 – gnanagurus

答えて

0

Exchange本体{exchange.getIn()。getBody()}には、REST APIの応答のみが含まれます。応答を形成する方法をAPIで確認してください。出力XMLに入力XMLが追加されている可能性があります。

関連する問題