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
があり、これに関連付けられているfaultElement
QNameは、単一の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フォルト・ハンドラに送信されます。
-
それ以外の場合、フォルトはデフォルトのフォルト・ハンドラによって処理されます。