在这一步中,首先将priceList和availList变量的数据从non-typed XML data (XmlObjectList)转换为typed XML (即转换为对项目中提供的 XML Schema有效的XML)。然后,结合 XML-typed 的价格和可用性数据以生成一个报价文档,这个文档构成了工作流对调用它的客户的响应。 关于Transformation控件的说明
WebLogic Workshop允许以下面的步骤创建Transformation控件:
· 通过工作流的节点构造器——您已经熟悉了以这种方式创建Transformation控件和transformation方法。在需要将数据类型从Request for Quote消息映射为taxCalculation控件的输入时创建Transformations.dtf(要回顾有关内容,参见从工作流中调用Tax Calculation Web服务)。然后在设计好的Parallel节点中的Control节点上的Transformations.dtf上添加几种transformation方法。
· 从WebLogic Workshop菜单中选择File —> New —> Choose File Type —> Workflow DTF File。以这种方式创建的DTF文件可以在工作流中通过Control节点调用。
要在这一步中创建报价,设计工作流中的Control节点调用在项目中提供的下列Transformation控件: PriceAvailTransformations.dtf 和TutorialJoin.dtf。
注:对如何创建这些DTF文件的描述超出了本教程的范围。不过要了解如何创建本教程中使用的TutorialJoin.dtf Transformation控件,可参见教程:构建第一个数据转换。
在这一步中为客户创建一个报价文档,必须完成下列任务:
1. 将价格列表转换为XML报价文档
2. 将可用性列表转换为XML报价文档
3. 结合价格和可用性报价
将价格列表转换为XML报价文档
完成下列任务:
· 创建工作流控件节点
· 创建工作流变量
· 设计与转换控件的交互
创建工作流控件节点
1. 在Palette中,单击 Control Send with Return,并将节点拖到Design View中的工作流上,将它放到For Each块外面紧靠它的位置。
2. 右击Control Send with Return并从下拉菜单中选择Rename。输入Convert PriceList to PriceQuote XML作为节点名。
创建工作流变量
创建工作流变量,工作流会在将XmlObjectList (non-typed XML) 转换为 typed XML后,将它赋值这个变量:
1. 在Variables选项卡中,单击Add —> Variable 以显示Create Variable 对话框。
2. 在 Variable Name域中输入priceQuote。
3. 在 Select Variable Type域中单击XML Types列表中priceQuote.xsd旁边的+,然后选择列表中的priceQuote。Variable Type 域中会填入org.example.price.PriceQuoteDocument。
4. 单击OK以保存新变量。
设计与Transformation控件的交互
在这一步中,设计节点将(作为For Each循环的枚举的结果创建的)价格列表转换为数据类型为typed-XML的变量。为此,使用PriceAvailTransforms Transformation控件上的方法。
1