BPEL 2.0でのフォルト処理の優先順位
BPEL 2.0の場合、関連するデータなしでスローされたフォルトを捕捉するための優先順位は次のとおりです。
-
一致する
faultName値を持つcatchアクティビティがあり、そのfaultName値でfaultVariable属性が指定されていない場合、フォルトは識別されたcatchアクティビティに送信されます。 -
catchAllアクティビティがある場合、フォルトはcatchAllフォルト・ハンドラに送信されます。
-
それ以外の場合、フォルトはデフォルトのフォルト・ハンドラによって処理されます。
BPEL 2.0の場合、関連するデータとともにスローされたフォルトを捕捉するための優先順位は次のとおりです。
-
一致する
faultName値を持つcatchアクティビティがあり、そのfaultName値でfaultVariable属性が指定されていない場合、フォルトは識別されたcatchアクティビティに送信されます。 -
フォルト・データが、次のものを含むWSDLメッセージ・タイプの場合:
-
メッセージには、要素で定義された単一パーツが含まれます。
-
一致する
faultName値を持つcatchアクティビティであり、その値にはfaultVariableがあり、これに関連付けられているfaultElementQNameは、単一のWSDLメッセージ・パーツの実行時要素データのQNameと一致します。
その後フォルトは、単一パーツの要素の値に初期化された
faultVariableを持つ、識別されたcatchアクティビティに送信されます。 -
-
一致する
faultName値を持つcatchアクティビティがあり、そのfaultName値でfaultVariable属性が指定されていない場合、フォルトは識別されたcatchアクティビティに送信されます。この場合、フォルト値はフォルト・ハンドラ内からは使用できませんが、rethrowアクティビティで使用できます。 -
faultName属性がないcatchコンストラクトがあり、そのfaultName属性に、タイプが実行時フォルト・データのタイプと一致するfaultVariableがある場合、フォルトは識別されたcatchアクティビティに送信されます。 -
フォルト・データが、メッセージに要素で定義された単一パーツが含まれるWSDLメッセージ・タイプで、
faultVariableを持つfaultName属性がないcatchアクティビティが存在し、そのfaultVariableの関連するfaultElementのQNameが単一のWSDLメッセージ・パーツの実行時要素データのQNameと一致する場合、フォルトは、単一パーツの要素の値に初期化されたfaultVariableを持つ、識別されたcatchアクティビティに送信されます。 -
catchAllアクティビティがある場合、フォルトはcatchAllフォルト・ハンドラに送信されます。
-
それ以外の場合、フォルトはデフォルトのフォルト・ハンドラによって処理されます。