Ich habe dieses Problem in meinem Apache Camel Code, den ich versuche, aus den letzten zwei Tagen zu lösen, aber ich konnte es nicht lösen.OnException in Camel keine benutzerdefinierte Antwort
Ich habe zwei Routen. Erste Route ist wie folgt:
public class XXXRoute1 extends RouteBuilder {
public void configure() {
String endpointUri = "cxf:/XXX;
String logEndpoint = "log:" + XXX() + "?level=DEBUG";
from(endpointUri)
.to(logEndpoint).to(ROUTE2.ENDPOINT_URI)
.to(logEndpoint);
}
Zweite Route: (Auf dem zweiten Weg, wir fangen einige Ausnahme durch OnException)
public class Route2 extends RouteBuilder {
public void configure() throws Exception{
String integrationEndpoint = "xxx.integration";
onException(RuntimeException.class).handled(true).onWhen(exceptionMessage().contains("Invalid")).bean(translator, "translateSomeError(${property.XXX})").end();
from(ENDPOINT_URI)
.
.
. so on
Nun, in meinem Fall das Objekt, das ich durch OnException bin bevöl
public SomeObjectResponse translateSomeError(Object someObject) throws Exception{
SomeObjectResponse someObjectResponse = new SomeObjectResponse();
someObjectResponse.setError("someError");
return someObjectResponse ;
}
jedoch in SOAP UI beim Testen erhalte ich eine leere SOAP umhüllen
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body/>
</soap:Envelope>
Ich benutze CXF Komponente in Apache Kamel.
Was erwarten Sie von CXF? Eine Seife "Fault"? Oder Ihre "SomeObjectResponse" -Instanz im Körper verankert? – Ralf
Hallo @Ralf, ich möchte SomeObjectResponse zurückgeben. –
Und 'SomeObjectResponse' kann mit JAXB gemarshallt werden? Generieren Sie Ihre Schnittstellenmodellklassen aus einem Schema? – Ralf