2016-02-04 40 views
2

我学习Apache的骆驼,并试图从RabbitMQ的端点发送请求给些肥皂服务:骆驼:RabbitMQ的以SOAP:重新排队

<camelcontext> 
route 1 from file:// to rabbitmq queue 
<route id="2"> 
<from uri="same queue as in route 1"/> 
<process "here i am setting header "/> 
<pattern>InOut</pattern> 
<to uri="soap request"/> 
</camelcontext> 

我想的是,在情况下在SOAP任何异常,交换应该重新回到rabbitmq。 我已经尝试将交换rabbitmq.REQUEUE的标题设置为true,但仍然没有运气,即使有异常也会删除邮件。我也尝试将设置交换到InOUT。请建议任何指针。

回答

0

要捕捉异常从调用SOAP服务回来,你可以使用一个onException的搭上了故障,然后将其路由到RabbitMQ的队列是这样的:

onException(Fault.class).handled(true) 
    .to("rabbitmq:queue-name") 
+0

谢谢。但这与我想要的不同。这会将消息发送到队列的末尾。我希望它回归到它应该回到相同的位置,即队列开始而不是结束 – nullP