【TechTarget中国原创】为变量指派值
之前我们创建了变量QuoteInput,通过GetSingleQuote调用。我们已经初始化变量或者着拍了一个值。
BPEL为此提供了<assign>活动,用来用新数据更新变量值。指派活动通常又一个或者多个复制运行组成。每一个复制包含一个目标变量,这个变量就是你希望指派的值和一个源。
例如,我们希望通过BPEL流程为QuoteInput指派股票符号。
在开始调用活动前,从组件板拖拽指派活动到BPEL流程。然后双击打开“Assign”配置窗口。单击“创建”菜单并选择“复制运行”。
下图展示了创建复制运行的窗口

图9
左手边我们指定来源变量。我们进入BPEL流程中输入的变量部分指定股票符号,展开“输入变量”树,选择/ns2:getQuote/ns2:stockSymbol.
目标扩展为QuoteInput,选择/ns1:GetQuote/ns1:Symbol。
可以看到在源和目标处,JDeveloper已经创建对等的XPath express。
测试流程
在这一步,尽管流程不完整,我们仍要保存、部署并运行流程。当从BPEL控制台运行流程,我们看大并没有返回任何值(因为我们还没进行指派)。但是如果查看索引跟踪,就可以成功地看到GetSingleQuote正在被调用。假设这个例子中,我们已正确部署了流程。
调用WEB服务汇率
下一步流程决定需求币种和美元之间的汇率(GetSingleQuote使用币种)。为此我们继续使用webserviceX.NET提供的币种转换服务。
该服务提供从一个币种到另一个的单一操作兑换率。
为了方便我们已经包含了为webserviceX.NET 币种转换服务的WSDL的副本。
调用转换率操作,我们将允许先前的部分中的内容调用GetQuickQuote操作。