Soap-fault
SOAP-障害
処理中にエラーが発生した場合、SOAPメッセージへの応答はメッセージ本文のSOAPエラー要素であり、エラーはSOAPメッセージの送信者に返されます。
SOAPエラーメカニズムは、エラーを生成したSOAPプロセッサの定義済みコード、説明、アドレスなど、エラーに関する特定の情報を返します。
注意点
- SOAPメッセージには、1つの障害ブロックのみを含めることができます。
- 障害は、SOAPメッセージのオプション部分です。
- HTTPバインディングの場合、成功した応答はステータスコードの200〜299の範囲にリンクされます。 *SOAP Faultは、ステータスコードの500〜599の範囲にリンクされています。
障害のサブ要素
SOAP障害には、次のサブ要素があります-
Sr.No | Sub-element & Description |
---|---|
1 |
これは、エラーのクラスを示すために使用されるテキストコードです。 事前定義された障害コードのリストについては、次の表を参照してください。 |
2 |
<faultString> エラーを説明するテキストメッセージです。 |
3 |
<faultActor> 誰が障害を引き起こしたかを示すテキスト文字列です。 SOAPメッセージがSOAPメッセージパス内のいくつかのノードを通過し、クライアントがエラーの原因となったノードを知る必要がある場合に役立ちます。 最終的な宛先として機能しないノードには、_faultActor_要素を含める必要があります。 |
4 |
<detail> これは、アプリケーション固有のエラーメッセージを伝えるために使用される要素です。 詳細要素には、詳細エントリと呼ばれる子要素を含めることができます。 |
SOAP障害コード
以下に定義されているfaultCode値は、_faultcode_要素で障害の説明中に使用する必要があります。
Sr.No | Error & Description |
---|---|
1 |
SOAP-ENV:VersionMismatch SOAP Envelope要素の無効なネームスペースが見つかりました。 |
2 |
SOAP-ENV:MustUnderstand mustUnderstand属性が「1」に設定された、Header要素の直接の子要素が理解されませんでした。 |
3 |
SOAP-ENV:Client メッセージの形式が正しくないか、誤った情報が含まれていました。 |
4 |
SOAP-ENV:Server サーバーに問題があったため、メッセージを続行できませんでした。 |
SOAP障害の例
次のコードはサンプルフォールトです。 クライアントは_ValidateCreditCard_という名前のメソッドを要求しましたが、サービスはそのようなメソッドをサポートしていません。 これはクライアント要求エラーを表し、サーバーは次のSOAP応答を返します-