Hello!! I have some problems using the <wait> activity. The <for> works perfect, but <until> not. I looked at the BPEL 2.0 spec draft and saw the following format:
<wait> <until>'2002-12-24T18:00+01:00'</until> </wait> When I use that I get the following error indicating that the date is incorrect: DEBUG - MessageExchangeContextImpl.onAsyncReply(57) | Processing an async reply from service {http://Testje1.wsdl}Testje1Service ERROR - XPath20ExpressionRuntime.evaluateAsDate(147) | Invalid date: 2002-12-24T18:00+01:00 java.lang.IllegalArgumentException: Bad dateTime: 2002-12-24T18:00+01:00 at org.apache.ode.utils.xsd.XMLCalendar.<init>(XMLCalendar.java:90) at org.apache.ode.bpel.elang.xpath20.runtime.XPath20ExpressionRuntime.evaluateAsDate(XPath20ExpressionRuntime.java:144) at org.apache.ode.bpel.runtime.ExpressionLanguageRuntimeRegistry.evaluateAsDate(ExpressionLanguageRuntimeRegistry.java:88) at org.apache.ode.bpel.runtime.WAIT.getDueDate(WAIT.java:119) at org.apache.ode.bpel.runtime.WAIT.run(WAIT.java:51) at sun.reflect.GeneratedMethodAccessor48.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451) at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139) at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:817) at org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeMyRole(PartnerLinkMyRoleImpl.java:193) at org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:153) at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:280) at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:311) at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:384) at org.apache.ode.bpel.scheduler.quartz.QuartzSchedulerImpl.doExecute(QuartzSchedulerImpl.java:351) at org.apache.ode.bpel.scheduler.quartz.QuartzSchedulerImpl.execute(QuartzSchedulerImpl.java:367) at org.apache.ode.bpel.scheduler.quartz.JobImpl.execute(JobImpl.java:32) at org.quartz.core.JobRunShell.run(JobRunShell.java:203) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Thread.java:595) ERROR - WAIT.run(53) | Fault while calculating due date: {http://schemas.xmlsoap.org/ws/2004/03/business-process/}invalidExpressionValue; Reason: Invalid date: 2002-12-24T18:00+01:00 The problem is that no seconds are provided. Is this wrong in the specs or are the specs not correctly implemented? When I add the seconds I get: DEBUG - MessageExchangeContextImpl.onAsyncReply(57) | Processing an async reply from service {http://Testje1.wsdl}Testje1Service ERROR - JacobVPU$JacobThreadImpl.run(463) | Method "completed" in class "org.apache.ode.bpel.runtime.SEQUENCE$ACTIVE$1" threw an unexpected exception. java.lang.NullPointerException at java.util.AbstractCollection.addAll(AbstractCollection.java:316) at org.apache.ode.bpel.runtime.SEQUENCE$ACTIVE$1.completed(SEQUENCE.java:101) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451) at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139) at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:817) at org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeMyRole(PartnerLinkMyRoleImpl.java:193) at org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:153) at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:280) at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:311) at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:384) at org.apache.ode.bpel.scheduler.quartz.QuartzSchedulerImpl.doExecute(QuartzSchedulerImpl.java:351) at org.apache.ode.bpel.scheduler.quartz.QuartzSchedulerImpl.execute(QuartzSchedulerImpl.java:367) at org.apache.ode.bpel.scheduler.quartz.JobImpl.execute(JobImpl.java:32) at org.quartz.core.JobRunShell.run(JobRunShell.java:203) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Thread.java:595) And after that some of: ERROR - BpelEngineImpl.onScheduledJob(320) | Scheduled job failed; [EMAIL PROTECTED] java.lang.RuntimeException: java.lang.NullPointerException at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:464) at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139) at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:817) at org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeMyRole(PartnerLinkMyRoleImpl.java:193) at org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:153) at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:280) at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:311) at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:384) at org.apache.ode.bpel.scheduler.quartz.QuartzSchedulerImpl.doExecute(QuartzSchedulerImpl.java:351) at org.apache.ode.bpel.scheduler.quartz.QuartzSchedulerImpl.execute(QuartzSchedulerImpl.java:367) at org.apache.ode.bpel.scheduler.quartz.JobImpl.execute(JobImpl.java:32) at org.quartz.core.JobRunShell.run(JobRunShell.java:203) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Thread.java:595) Caused by: java.lang.NullPointerException at java.util.AbstractCollection.addAll(AbstractCollection.java:316) at org.apache.ode.bpel.runtime.SEQUENCE$ACTIVE$1.completed(SEQUENCE.java:101) at sun.reflect.GeneratedMethodAccessor289.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451) ... 14 more And when I use: <wait> <until>'2007-04-25T16:01:10.000+02:00'</until> </wait> Nothing happens at the specified time. Even not if I copy the format from the instance management (2007-04-25T15:59:48.566+02:00) It even looks like the testcases for wait until are missing. There is one for wait for. Cheers, René