我创建了一个带有等待活动的BPEL流程,有流程开始时间(日期时间)和间隔(持续时间)的输入。在创建一个实例(工作项)的过程中,它移动到等待,在控制台上我得到了错误
<Mar 23, 2011 9:27:53 PM SGT> <Error> <oracle.soa.bpel.engine.bpel> <BEA-000000>
<<BPELReceiveWMP::__defineExpirationDate> Bad expiration date format, and this
expiration date will be ignored
java.lang.IllegalArgumentException: Duration has to start with 'P'.
进程的输入有效负载是:
<inputVariable> <part name="payload"> <ns1:process> <ns1:startDate>2011-03-23T16:30:00.000+08:00</ns1:startDate> <ns1:interval>PT2M</ns1:interval> </ns1:process> </part> </inputVariable>
等待推迟了
的字符串(的bpws:getVariableData( '传递InputVariable', '有效载荷', '/客户端:处理/客户端:的startDate'))
表达式
WaitForStart(待定) 2011年3月23日9:27:53错误的有效期“2011-03-23T16:30:00.000 + 08:00” 2011年3月23日下午9:27:53等待到期时间“从不”。
环境是: SOA 11.1.1.3.0 Jdeveloper:11.3
答案 0 :(得分:1)
如果输入为“2011-03-23T16:30:00.000 + 08:00 PT2M”,则问题非常明显。第一部分是dateTime,第二部分是持续时间。 BPEL中的元素需要一个持续时间,因此其值应该只是“PT2M”,这意味着2分钟。字符串的第一部分对我来说是错误的。