本文详细介绍房屋贷款BPEL实例详解
下面是BPEL的分支,即房屋数量为0时的一个分支: <bpel:switch>
<bpel:case condition="getVariableData('bk-loanquote-request', 'payload',
'/bk:getLoanQuoteRequest/bk:housenumber') = 0 ">
<bpel:sequence>
<bpel:flow>
下面表示房屋数量为0时,将会调用Bank0的服务: <bpel:invoke name="bank0" partnerLink="Bank0"
portType="bk:Bank" operation="getLoanQuote"
inputVariable="bk-loanquote-request"
outputVariable="bk-loanquote-response-0"
sm:endpoint="urn:logicblaze:soa:bank:Bank0:bank" />
</bpel:flow>
将Bank0输出变量中的rate参数赋值给BPEL接口输出变量response的rate参数: <bpel:assign>
<bpel:copy>
<bpel:from expression="getVariableData
('bk-loanquote-response-0',
'payload', '/bk:getLoanQuoteResponse/
bk:rate')" />
<bpel:to variable="response" part="payload"
query="/tns:getLoanQuoteResponse/
tns:rate" />
</bpel:copy>
将Bank0输出变量中的firstpaidratio赋值给BPEL输出变量的firstpaidratio: <bpel:copy>
<bpel:from expression="getVariableData
('bk-loanquote-response-0',
'payload', '/bk:getLoanQuoteResponse/
bk:firstpaidratio')" />
<bpel:to variable="response" part="payload"
query="/tns:getLoanQuoteResponse/
tns:firstpaidratio" />
</bpel:copy>
</bpel:assign>
</bpel:sequence>
</bpel:case>
责编:豆豆技术应用