要素ベース変数およびメッセージ・タイプベース変数内のフィールドへのアクセス方法
次の例では、ssn
フィールドはCreditFlow
プロセスの入力メッセージから信用格付けサービスの入力メッセージのssn
フィールドにコピーされます。
<assign> <copy> <from variable="input" part="payload" query="/tns:CreditFlowRequest/tns:ssn"/> <to variable="crInput" part="payload" query="/tns:ssn"/> </copy> </assign>
次の例に、この割当てに必要なメッセージ・タイプベースの変数をBPELファイルで定義する方法を示します。
<variable name="input" messageType="tns:CreditFlowRequestMessage"/> <variable name="crInput" messageType="services:CreditRatingServiceRequestMessage"/>
crInput
変数は、信用格付けサービスへの入力メッセージとして使用されます。そのメッセージ・タイプCreditFlowRequestMessage
は、次の例に示すように、CreditFlowService.wsdl
ファイルで定義されます。
<message name="CreditFlowRequestMessage"> <part name="payload" element="tns:CreditFlowRequest"/> </message>
CreditFlowRequest
は、ssn
という名前のフィールドで定義されます。メッセージ・タイプCreditRatingServiceRequestMessage
は、次の例に示すように、CreditRatingService.wsdl
ファイルで定義されます。
<message name="CreditRatingServiceRequestMessage"> <part name="payload" element="tns:ssn"/> </message>
次の例に、最初の割当て例の割当てに含まれるメッセージ・タイプベース変数をBPELファイルで定義する方法のBPEL 2.0の構文を示します。/tns:CreditFlowRequest
は不要であることに注意してください。
<copy> <from>$input.payload/tns:ssn</from> <to>$crInput.payload</to> </copy>
BPELプロセスでは、要素ベースの変数も使用できます。次の例に、BPEL 1.1で要素ベースの変数を使用する方法を示します。autoloan
フィールドは融資申請プロセスの入力メッセージからWebサービスの入力メッセージのcustomer
フィールドにコピーされます。
<assign> <copy> <from variable="input" part="payload" query="/tns:invalidLoanApplication/autoloan: application/autoloan:customer"/> <to variable="customer"/> </copy> </assign>
次の例に、BPEL 2.0で要素ベースの変数を使用する方法を示します。
<assign> <copy> <from>$input.payload/autoloan:application/autoloan:customer</from> <to>$customer</to> </copy> </assign>
次の例に、割当てに必要な要素ベースの変数をBPELファイルで定義する方法を示します。
<variable name="customer" element="tns:customerProfile"/>