2017-02-15 1 views
0

Ich stecke in bisschen komisch Situation meines Kamel Strecke wie dieseKamelkörper mit Anfrage statt Antwort

sieht gesetzt
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"); 

Nun, was in meinem Erfolg Szenario passiert ist mein Körper mit Antwort angemeldet ist, ich von Endpunkt bekam aber Im Fehlerfall obwohl mein Endpunkt mir eine Fehlerantwort gibt Body wird mit meiner Anfrage protokolliert, die ich an den Endpunkt gesendet habe Kann mir bitte erklären, warum das passiert ist und wie kann ich es lösen?

Antwort

1

Mit Blick auf die Dokumentation für die Komponente http ist dies das erwartete Verhalten. Wenn Sie sich die Details für die Option ansehen, wird standardmäßig true angezeigt, was bedeutet, dass ein unerwünschter Statuscode dazu führt, dass eine Ausnahme ausgelöst und die Antwort verworfen wird. Wenn Sie diese Option auf false setzen, wird dieses Verhalten geändert, sodass die Antwort beibehalten wird. The example code in the documentation shows how this is done.