0

スキーマに対して検証を実行し、検証が失敗した場合にエラーをスローするプロキシ サービス スタックがあります。

<inSequence>
  <log level="full"/>
  <validate xmlns:lod="http://example.com" source="$body/lod:Request">
        <schema key="gov:/repository/schemas/com/example/data.xsd"/>
        <on-fail>
           <makefault version="soap12">
              <code xmlns:soap12Env="http://www.w3.org/2003/05/soap-envelope" value="soap12Env:Sender"/>
              <reason>Text reason goes here.</reason>
              <node>http://example.com</node>
              <detail/>
              <role/>
           </makefault>
           <send/>
           <drop/>
        </on-fail>
     </validate>
  </inSequence>

これは正常に機能し、リクエストは期待どおりに検証されます。

問題は、SOAP 1.2 障害である障害にサブコードを追加して、以下のようなものを取得することは可能ですか?

<env:Fault>
 <env:Code>
   <env:Value>env:Sender</env:Value>
     <env:Subcode>
       <env:Value>SOME_SPECIFIC_ERROR_SUBCODE</env:Value>
     </env:Subcode>
 </env:Code>
 <env:Reason>
    <env:Text xml:lang="en">Text reason goes here.</env:Text>
 </env:Reason>
 <env:Node>http://example.com</env:Node>
</env:Fault>

前もって感謝します。ウラジミール。

4

1 に答える 1

1

私はこれがあなたが探しているものだと思います:

このブログ投稿では、makefaultメディエーターを使用してsoapフォールトを生成する方法を見ていきます。それに加えて、その石鹸の障害にカスタムメッセージを埋め込む方法を示します。この目標を達成するために、makefaultメディエーターとスクリプトメディエーターを使用します。

于 2013-01-22T13:02:30.540 に答える