4.3.4 Oracle Tuxedoアウトバウンド・アプリケーションでのフォルト・メッセージの処理

WSDLファイルにリストされたすべてのルールは、WSDL入力/出力メッセージをOracle Tuxedoメタデータinbuf/outbufの定義にマップするために使用されます。いくつかのルールを変更すると、WSDLファイルのデフォルト・メッセージをOracle Tuxedoメタデータerrbufにマップできます。

フォルト・マッピングのルール:

メタデータerrbufをSOAPフォルト・メッセージにマップするために、TuxモードおよびXSDモードという2つのモードがあります。

  • Tuxモードは、TPFAILで戻されたOracle Tuxedoの元のエラー・バッファの変換に使用します。SOAPフォルトの<detail>要素で、エラー・バッファをXMLペイロードに変換します。
  • XSDモードは、Oracle Tuxedoバッファで定義されたSOAPフォルト・メッセージとWSDLファイル・フォルト・メッセージを表すために使用します。マッピング・ルールは次のとおりです。
    • XSDモードの各サービス(servicemode=webservice)については、メタデータでtype=FML32errbufが常に含まれています
    • errbufFML32バッファです。これは、SOAP 1.1と1.2のそれぞれに対応して異なって表示されるSOAP:Faultメッセージの完全な記述です。errbuf定義の内容は、SOAPバージョンとWSDLフォルト・メッセージの両方によって決定します。
    • パラメータの詳細/詳細(1.1/1.2)はFML32フィールドで、wsdl:faultメッセージ(wsdl:faultが存在する場合)で定義されたwsdl:partを表します。各部分は、FML32フィールド内にparam(フィールド)として定義されます。マッピング・ルールは、入力/出力バッファの場合と同じです。相違点は、各paramのrequiredcountは0である(つまり、SOAPフォルト・メッセージにこれが表示されない可能性がある)ことです。
    • soap:faultメッセージに表示されるその他の要素は、常にerrbuf内のファイルとして定義されます。要素が必須か省略可能かどうかに応じて、requiredcount1または0になります。
    • メタデータ内の各部分の定義は、SOAPフォルト・メッセージ内の<detail>要素のエラー・バッファ内のフィールドへの変換を制御します。

表4-3 アウトバウンドSOAPフォルトのErrbuf定義

Metaパラメータ SOAPバージョン 必須 メモ
faultcode 1.1 string はい -
faultstring 1.1 string はい -
faultactor 1.1 string いいえ -
detail 1.1 fml32 いいえ wsdl:faultが定義されていない場合、このフィールドにはXMLフィールドが含まれます。
Code 1.2 fml32 はい 値と省略可能なサブコードが含まれます
Reason 1.2 fml32 はい 複数のテキストが含まれます
Node 1.2 string いいえ -
Role 1.2 string いいえ -
Detail 1.2 fml32 いいえ 詳細フィールドと同じです