在Human Task的配置界面中,可以定义此Human Task所关心的参数(Parameter)。注意,这里仅仅只是类型的声明,真正在此Human Task绑定到bpel流程中的时候,才会需要设置参数的值来源,下一节将会介绍。
参数的类型可以是简单类型,也可以是复杂类型。
这些参数主要是用于“界面的实现”。如果采用自动生成Display Form,则会依据这些Parameter来生成表单上的元素。
Human Task参数与流程变量的映射
在Human Task中的参数,到底初始数据来源自哪里,这是在BPEL中定义的。如下图所示:
上图中表示:ApplyUser这个参数值,来自于变量
“client:VacationApplyProcessForm”中的Apply_User元素,而ApplyReason这个参数值,则来自于上一个Human Task所提交的任务信息数据中的ApplyReason元素。
在流程中获取Human Task任务提交后的数据
对Oracle BPEL来讲,每个human task任务在提交后,都会产生一个task message返回给引擎。而表单中的数据,就包含在task message中。主要是在“/task:task/task:payload”这个元素下。
首先,看一下在worklistapp中,表单中的数据元素如下:
<input name=”_sl_ns0_cl_task_sl_ns0_cl_payload_sl_ns0_cl_ApplyUser”
type=”text” value=”jcooper” disabled dataType=”string”>
为了从task message提取数据,写入流程变量中,或者其他地方。一般会在Human Task之跟一个Assign活动,负责数据提取和转换。如下图所示。
此处需要注意的是,在图形化的编辑中,无法显示“/task:task/task:payload”下子节点,会报告如下错误:
但是,可以通过手工指明Xpath来制定要获取的真实元素,比如“/task:task/task:payload/task:ApplyUser”。当然这种手工输入带来的问题是比较麻烦的。
原文出处:http://gocom.primeton.com/blog11162_16519.htm
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
保险公司如何能从BPEL中获益
对于保险业整合不同系统是一件寻常的工作。但保险公司经常会面临监管条例改变和应对不同的顾客需求。为了解决这些系统问题,软件专家正在使用一种强大的工具——BPEL。
-
2013年业务流程执行语言(BPEL)现状
在SOA领域中,BPEL拥有属于自己的集成系统和自动化工作流,为协调完全异构系统而提供一致的流程。
-
如何开发BPEL复合应用
大多数软件架构师对应用的组件化、SOA和工作流或者服务总线流程非常熟悉,也对组合应用如何将这些基本元素结合在一起非常熟知。
-
如何在SOA中执行BPEL测试?
几乎所有面向服务架构(SOA)用户都在使用业务流程执行语言(BPEL)。作为编排粗粒度的业务流程流工具,BPEL实际上是行业的标准,但是还是会引起测试问题。