私の In sequence mediatior では、入力値に対していくつかのロジックを処理する必要があり、それに基づいて、Web サービスを呼び出すか、エラーを返すかを決定する必要があります。シーケンスを次のように定義しました
<sequence xmlns="http://ws.apache.org/ns/synapse" name="m1">
<class name="com.myclass">
</class>
<makefault version="soap11">
<code xmlns:soap11Env="http://schemas.xmlsoap.org/soap/envelope/" value="soap11Env:Client"/>
<reason value="ERROR_MESSAGE"/>
<role>Acc</role>
<detail>Test Details</detail>
</makefault>
<log/>
</sequence>
問題は、デフォルトで Web サービスが常に障害情報を Web サービスに渡していることです。1. メディエーターでスローされたカスタム例外がある場合、SOAP 障害が Web サービス クライアントにスローされます。2. すべての情報が正しい場合、Web サービスは適切に呼び出され、クライアントは適切な応答を取得します。