the "until" form of <wait> does not appear to work.
---------------------------------------------------
Key: ODE-126
URL: https://issues.apache.org/jira/browse/ODE-126
Project: Ode
Issue Type: Bug
Components: BPEL Runtime
Affects Versions: 1.0-incubating
Reporter: Maciej Szefler
Reported by Rene Bos to the development list:
---------- Forwarded message ----------
From: René Bos
Date: Apr 25, 2007 7:10 AM
Subject: Wait until error
To: [EMAIL PROTECTED]
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é
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.