Oracle BPEL Workflow Service的“Human Task的数据交互”稍微有些复杂,有几个地方要注意,其基本处理思路围绕:数据类型和Message Type的声明;流程变量的声明;任务参数的定义;任务参数与流程变量之间的映射;任务提交后数据的处理和提取。
<schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/VacationApplyProcess" xmlns="http://www.w3.org/2001/XMLSchema"> <element name="VacationApplyProcessProcessRequest"> <complexType> <sequence> <element name="input" type="string"/> </sequence> </complexType> </element> <element name="VacationApplyProcessProcessResponse"> <complexType> <sequence> <element name="result" type="string"/> </sequence> </complexType> </element> <element name="VacationApplyProcessForm"> <complexType> <sequence> <element name="Apply_User" type="string"/> <element name="Apply_Reason" type="string"/> <element name="Approve_Manager" type="string"/> <element name="Approve_Comment" type="string"/> <element name="Approve_Status" type="boolean"/> </sequence> </complexType> </element> <schema>
<types> <schema xmlns="http://www.w3.org/2001/XMLSchema"> <import namespace="http://xmlns.oracle.com/VacationApplyProcess" schemaLocation="VacationApplyProcess.xsd" /> </schema> </types> <message name="VacationApplyProcessRequestMessage"> <part name="payload" element="client:VacationApplyProcessProcessRequest"/> </message> <message name="VacationApplyProcessResponseMessage"> <part name="payload" element="client:VacationApplyProcessProcessResponse"/> </message> <message name="VacationApplyProcessFormInputMessage"> <part name="payload" element="client:VacationApplyProcessForm"/> </message>