Ich versuche, eine Anfrage an einen HTTP-Endpunkt mit Camel Jetty oder Camel HTTP-Komponente zu senden. Ich habe mich gefragt, ob es möglich ist, die Anfrage und Antwort auf HttpServletRequest und HttpServletResponse Objekte zu konvertieren.Get HttpServletRequest und HttpServletResponse von Camel Message Body
Ich habe die folgende Route:
from("direct://processing/callEndpoint")
.to("jetty:http://www.google.com")
.to("bean:processHttpResponse")
Ich bin mit Guice für Dependency Injection und "Bean: processHttpResponse" ist folgende:
public class HttpResponseBean {
public void processResponse(Exchange exchange) {
HttpServletRequest request = exchange.getIn().getBody(HttpServletRequest.class);
HttpServletResponse response = exchange.getOut().getBody(HttpServletResponse.class);
}
}
Beide Anfrage und Antwort Objekte sind null. Beim Debugging/Inspizieren von Exchange ist die In-Nachricht ein Byte-Array (Byte []) und die Out-Nachricht ist Null. Nicht sicher, wie es weitergeht.
Das Format .bean() (anstelle von .to ("bean:") hat nicht funktioniert. Ich habe das gleiche Ergebnis erhalten. – Khaled