我们如何用交换副本取代交换?

时间:2015-08-19 03:55:06

标签: apache-camel

有没有办法用副本替换交换?我在一个过程中得到了一个交换副本,我需要用副本替换/覆盖现有的交换。场景是SOAP请求存储在交换体中,正文类型是自定义对象。现在,当请求进入服务器时,响应将存储在交换体中,并且正文类型将更改为输入流。如果响应不是我需要的,那么我需要用交换副本替换交换并重新发送请求。

摘录过程(...)

Exchange copy = null;
copy = ExchangeHelper.createCopy(exchange, true);

有setBody,但没有像setExchange或replaceExchangeWithCopy。

1 个答案:

答案 0 :(得分:0)

为了解决你在Camel的情况,有两种类型的身体,即

exchange.getIn.setBody

exchange.getOut.setBody

这意味着您可以将您的请求存储在 IN body 中,并将响应存储在 OUT body 中,因此在检查OUT体内的响应是否正确后,您可以再次使用您的IN正文内容。

确保您的Exchange pattern INOUT