Bu sorunu son iki gün içinde çözmeye çalıştığım apache deve kodumda yaşıyorum ama çözemedim.Camel'deki OnException özel bir yanıt döndürmüyor
İki yol var. İlk rota aşağıdaki gibidir:
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);
}
İkinci Yol: Benim durumumda,
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
Şimdi onException yoluyla doldurma ediyorum nesneyi (ikinci güzergah, ben onException yoluyla bazı istisna yakalıyorum)
public SomeObjectResponse translateSomeError(Object someObject) throws Exception{
SomeObjectResponse someObjectResponse = new SomeObjectResponse();
someObjectResponse.setError("someError");
return someObjectResponse ;
}
Ancak SABUN arayüzünde boş bir SABUN zarfının
alıyorum test ederkenApache deve'de cxf bileşeni kullanıyorum.
CXF'nin ne geri dönmesini bekliyorsunuz? Bir SOAP 'Arızası? Veya 'SomeObjectResponse' örneğiniz vücudun içinde marshalled? – Ralf
Merhaba @Ralf, someobjectResponse'ye dönmek istiyorum. –
Ve 'SomeObjectResponse' JAXB ile sıralanabilir mi? Arabirim modeli sınıflarınızı bir şemadan mı oluşturuyorsunuz? – Ralf