フォルト・ハンドラの概要
フォルト・ハンドラは、通常予想される以外のデータ(数値のかわりにエラー・メッセージなど)がターゲット・サービスから返されたときに、BPELプロセス・サービス・コンポーネントの対応方法を定義します。フォルト・ハンドラの例として、Webサービスで通常返される信用格付けの数値のかわりに、ネガティブ情報メッセージが返された場合を想定します。
図12-1は、フォルト・ハンドラが信用格付け変数を-1000に設定する方法の例を示しています。
次の例のコード・セグメントは、この操作のフォルト・ハンドラをBPELファイルに定義します。
<faultHandlers>
<catch faultName="services:NegativeCredit" faultVariable="crError">
<assign name="crin">
<copy>
<from expression="-1000">
</from>
<to variable="input" part="payload"
query="/autoloan:loanApplication/autoloan:creditRating"/>
</copy>
</assign>
</catch>
</faultHandlers>
faultHandlersタグには、フォルト処理コードが入ります。フォルト・ハンドラ内のcatchアクティビティによって、フォルト名と変数、およびcreditRating変数を「-1000」に設定するコピー指示が定義されます。
BPELプロセス・サービス・コンポーネントに対してWebサービスを選択する際、返される可能性があるフォルトを特定し、それぞれに対してフォルト・ハンドラを設定します。
