1

ESB で org.jboss.soa.esb.actions.soap.SOAPClient を使用しています。そして、SOAPClient がリクエストの送信に失敗した場合、HTTP ステータス コードまたは例外を取得しようとしています。ここでは、配信の失敗には多くの理由がある可能性があります (例:--404,500 など)。私の要件は、ESB でエラーまたは例外 (ソープ障害例外の可能性があります) または http ステータス コードをキャッチして、ビジネス ロジックを実行することです。 Exception に基づいています。以下のコードを使用しようとしましたが、例外を受け取ることができませんでした。

<action  class="com.xxx.esb.yyy.A228ProducerInquiry.ProducerInquiryTransactionHandler" name="RequestMapper" process="mapRequestPath">
     <property name="OGNLPath" value="AgentValidation.strXMLIN"/>
    </action>

    <action class="org.jboss.soa.esb.actions.soap.SOAPClient" name="FasatPost">
     <property name="responseAsOgnlMap" value="true" />
     <property name="wsdl" value="http://example.org?wsdl"/>
     <property name="SOAPAction" value="mySoapAction"/>
      </action>

    <action name="response-mapper"  class="com.foresters.esb.acord.A228ProducerInquiry.MyResponseAction">
     </action>

コンソールと SOAP UI で例外を確認できますが、ESB で受信できません

ありがとう、マドゥCM

4

1 に答える 1

0

私はこのロジックを試していませんが、「プログラマーズ ガイド」には次のような記述があります。

  1. メッセージの処理中にエラーが発生した場合、事前定義されたサービスを呼び出すか、メッセージを配信不能キュー サービスにプッシュできます。
  2. 上記のいずれも構成されていない場合、エラーはコンソールにリダイレクトされます。

Message の FaultTo フィールドを例外処理サービスに設定してみてください。その例外処理サービスでは、必要な回復手順を実行できます。

于 2011-06-01T04:23:52.697 に答える