2017-02-15 4 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.