BPEL 2.0のメッセージ交換アクティビティでの要素変数の使用

次のメッセージ交換アクティビティで変数を指定できます。

  • 「Invoke」ダイアログの(inputVariable属性の)「入力」フィールドと(outputVariable属性の)「出力」フィールド

  • receiveアクティビティの(variable属性の)「入力」フィールド

  • replyアクティビティの(variable属性の)「出力」フィールド

これらのフィールドで参照される変数は通常、QNameが操作で使用される入力および出力メッセージ・タイプと一致するメッセージ・タイプ変数である必要があります。

例外は、アクティビティのWSDL操作が、要素を使用して定義された1つのパートを含むメッセージを使用している場合です。この場合、パートの定義に使用される同じ要素タイプの変数はそれぞれ、invokeアクティビティのinputVariable属性とoutputVariable属性、またはreceiveアクティビティまたはreplyアクティビティのvariable属性で参照できます。

この状況で変数を使用するのは、関連するWSDLメッセージ・タイプに基づいて匿名の一時WSDLメッセージ変数を宣言するのと同じである必要があります。

匿名の一時WSDLメッセージ変数と要素変数の間で要素データをコピーするのは、keepSrcElementName属性がyesに設定された1回のコピー操作による単一の仮想assignアクティビティとして機能します。仮想割当ては、実際のassignアクティビティと同じルールに従い、同じフォルトを使用する必要があります。表6-6に詳細を示します。

表6-6 WSDLメッセージ・パートのマップ

対象 説明

inputVariable属性

属性で参照される変数の値により、匿名の一時WSDLメッセージ変数のパートの値が設定されます。

outputVariable属性

一時WSDLメッセージ変数の受信したパートの値により、属性で参照される変数の値が設定されます。

receiveアクティビティ

着信パートの値により、variable属性で参照される変数の値が設定されます。

replyアクティビティ

variable属性で参照される変数の値により、送信される匿名の一時WSDLメッセージ変数のパートの値が設定されます。フォルトを送信するreplyアクティビティの場合も、同じシナリオが適用されます。

keepSrcElementName属性の詳細は、「keepSrcElementName属性」を参照してください。