この図は、1リクエストの結果が必須/オプション・レスポンスになった場合に発生する事象を示すダイアグラムです。次のアクションを行います。
クライアントBPELプロセスは、bpel.xmlデプロイメント・ディスクリプタを使用し、scopeアクティビティとonMessage属性を持っています。scopeアクティビティには、リクエストをサービスBPELプロセスに送信するinvokeアクティビティ(サービスのコール)と、コールバック用のreceiveアクティビティ(コールバックの待機)があります。
クライアントの、サービスをコールするinvokeアクティビティは、WSDLパートナ・リンクを経由して、サービスBPELプロセスにリクエストを送信します。
サービスBPELプロセスには、独自のbpel.xmlデプロイメント・ディスクリプタがあり、次のアクティビティが含まれています。
クライアントのリクエストを受信するreceiveアクティビティ
レスポンスを遅らせるかどうかを決めるロジックを含んでいるswitchアクティビティ
必須レスポンスをクライアントに返すinvokeアクティビティ
商品が遅れる場合、サービスBPELプロセスのswitchアクティビティはメッセージAを選択し、これを、クライアントBPELプロセス内でコールバックを待機するreceiveアクティビティに送信します。
商品が出荷されると、invokeアクティビティはクライアントBPELプロセス内でコールバックを待機するreceiveアクティビティにメッセージBを送信します。