2017-02-15 54 views
0

我被困在有点怪异情况我骆驼的路线是这样的驼的身体被设定为请求而不是响应

from("direct:start") 
    .doTry() 
     .to("http://myedpoint.com") 
     .log(LoggingLevel.DEBUG, "com.mycompany.MyCoolRoute", " ${body}") 
    .doCatch(Exception.class) 
    .log(LoggingLevel.DEBUG, "com.mycompany.MyCoolRoute", " ${body}") 
    .to("bean:foo"); 

在我成功的情况现在发生了什么我的身体被记录以响应我从终点了,但在失败的情况下,虽然我的端点给了我失败的回应正文记录我的请求,我已发送到终点可以任何请解释我为什么发生这种情况,我该如何解决它?

回答

1

查看http组件的文档,这是预期的行为。如果您查看选项throwExceptionOnFailure的详细信息,则默认为true,这意味着状态代码将导致异常被抛出并且响应被抛出。将此选项设置为false将改变此行为,以保持响应。 The example code in the documentation shows how this is done.