私は過去2日間から解決しようとしている私のapacheのラクダコードでこの問題を抱えていますが、解決できませんでした。Camelのカスタムレスポンスを返さないOnException
私は2つのルートを持っています。最初のルートは以下の通りです:
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);
}
第2の経路:、私の場合は、
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
今、私はonExceptionを経由移入していたオブジェクトを(第2の経路では、私はonExceptionを通じ、いくつかの例外をキャッチしています)
public SomeObjectResponse translateSomeError(Object someObject) throws Exception{
SomeObjectResponse someObjectResponse = new SomeObjectResponse();
someObjectResponse.setError("someError");
return someObjectResponse ;
}
しかし、SOAP UIで、私は空のSOAPエンベロープ
を取得していますテストしながら、私はapache camelでcxfコンポーネントを使用しています。
CXFは何を返すと思いますか? SOAPのフォールト?あるいは、あなたの 'SomeObjectResponse'インスタンスが本体の中にマーシャリングされていますか? – Ralf
こんにちは@ラルフ、someobjectResponseを返したい。 –
そして 'SomeObjectResponse'はJAXBでマーシャリングできますか?スキーマからインターフェイスモデルクラスを生成していますか? – Ralf