Hi Rene,

Just in case you missed it, Maciej has created a Jira issue to track your
problem:

http://issues.apache.org/jira/browse/ODE-126<https://issues.apache.org/jira/browse/ODE-126>

Cheers,
Matthieu

On 4/25/07, René Bos <[EMAIL PROTECTED]> wrote:

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é

Reply via email to