You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ode.apache.org by Milinda Pathirage <mi...@gmail.com> on 2009/04/21 10:37:19 UTC

Instance creation issue

I deployed a BPEL which tests SOAP Header support and sent a request without
the SOAP Header part.

In that case following exception thrown:

[2009-04-21 11:32:42,386] FATAL -  Message missing part: header
{org.apache.ode.bpel.rtrep.v2.PICK}
[2009-04-21 11:32:42,389] ERROR -  Method "onRequestRcvd" in class
"org.apache.ode.bpel.rtrep.v2.PICK$WAITING$2" threw an unexpected exception.
{org.apache.ode.jacob.vpu.JacobVPU}
org.apache.ode.bpel.rtrep.v2.InvalidContextException: Message missing part:
header
    at org.apache.ode.bpel.rtrep.v2.PICK.initVariable(PICK.java:190)
    at org.apache.ode.bpel.rtrep.v2.PICK.access$400(PICK.java:47)
    at
org.apache.ode.bpel.rtrep.v2.PICK$WAITING$2.onRequestRcvd(PICK.java:270)
    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.rtrep.v2.RuntimeInstanceImpl.execute(RuntimeInstanceImpl.java:639)
    at
org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:616)
    at
org.apache.ode.bpel.engine.BpelRuntimeContextImpl.executeCreateInstance(BpelRuntimeContextImpl.java:604)
....
[2009-04-21 11:32:42,391] ERROR -  Work for instance {
http://dfa.com/test}newProcess-2#501 in thread
Thread[ODEServerImpl-1,5,main] resulted in an exception.
{org.apache.ode.bpel.engine.BpelInstanceWorker}
java.lang.RuntimeException:
org.apache.ode.bpel.rtrep.v2.InvalidContextException: Message missing part:
header
    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.rtrep.v2.RuntimeInstanceImpl.execute(RuntimeInstanceImpl.java:639)
    at
org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:616)
    at
org.apache.ode.bpel.engine.BpelRuntimeContextImpl.executeCreateInstance(BpelRuntimeContextImpl.java:604)
  ...

I was able to fix the time out error by catching the BpelEngineException
inside ODEProcess.invokeProcess method and sending back a SOAP Fault with
exception message.

But the problem is event there is a error in the incoming message, there is
a instance created for this message and that instance is in ACTIVE state. In
case of situation like this, I think the created instance must in error or
failed state. And also in current ODE trunk we are not sending SOAP Fault if
there is BpelEngineException. I think we need to send a soap fault when
BpelEngineException occur. WDYT?

Thanks,
Milinda

-- 
http://mpathirage.com
http://wso2.org "Oxygen for Web Service Developers"
http://wsaxc.blogspot.com "Web Services With Axis2/C"

Re: Instance creation issue

Posted by Milinda Pathirage <mi...@gmail.com>.
Yes.

Thanks,
Milinda

On Wed, Apr 22, 2009 at 8:52 PM, Matthieu Riou <ma...@gmail.com>wrote:

> On Tue, Apr 21, 2009 at 1:37 AM, Milinda Pathirage <
> milinda.pathirage@gmail.com> wrote:
>
> > I deployed a BPEL which tests SOAP Header support and sent a request
> > without
> > the SOAP Header part.
> >
> > In that case following exception thrown:
> >
> > [2009-04-21 11:32:42,386] FATAL -  Message missing part: header
> > {org.apache.ode.bpel.rtrep.v2.PICK}
> > [2009-04-21 11:32:42,389] ERROR -  Method "onRequestRcvd" in class
> > "org.apache.ode.bpel.rtrep.v2.PICK$WAITING$2" threw an unexpected
> > exception.
> > {org.apache.ode.jacob.vpu.JacobVPU}
> > org.apache.ode.bpel.rtrep.v2.InvalidContextException: Message missing
> part:
> > header
> >    at org.apache.ode.bpel.rtrep.v2.PICK.initVariable(PICK.java:190)
> >    at org.apache.ode.bpel.rtrep.v2.PICK.access$400(PICK.java:47)
> >    at
> > org.apache.ode.bpel.rtrep.v2.PICK$WAITING$2.onRequestRcvd(PICK.java:270)
> >    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.rtrep.v2.RuntimeInstanceImpl.execute(RuntimeInstanceImpl.java:639)
> >    at
> >
> >
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:616)
> >    at
> >
> >
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.executeCreateInstance(BpelRuntimeContextImpl.java:604)
> > ....
> > [2009-04-21 11:32:42,391] ERROR -  Work for instance {
> > http://dfa.com/test}newProcess-2#501<http://dfa.com/test%7DnewProcess-2#501>
> <http://dfa.com/test%7DnewProcess-2#501>in thread
> > Thread[ODEServerImpl-1,5,main] resulted in an exception.
> > {org.apache.ode.bpel.engine.BpelInstanceWorker}
> > java.lang.RuntimeException:
> > org.apache.ode.bpel.rtrep.v2.InvalidContextException: Message missing
> part:
> > header
> >    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.rtrep.v2.RuntimeInstanceImpl.execute(RuntimeInstanceImpl.java:639)
> >    at
> >
> >
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:616)
> >    at
> >
> >
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.executeCreateInstance(BpelRuntimeContextImpl.java:604)
> >  ...
> >
> > I was able to fix the time out error by catching the BpelEngineException
> > inside ODEProcess.invokeProcess method and sending back a SOAP Fault with
> > exception message.
> >
> > But the problem is event there is a error in the incoming message, there
> is
> > a instance created for this message and that instance is in ACTIVE state.
> > In
> > case of situation like this, I think the created instance must in error
> or
> > failed state.
>
>
> Agreed.
>
>
> > And also in current ODE trunk we are not sending SOAP Fault if
> > there is BpelEngineException. I think we need to send a soap fault when
> > BpelEngineException occur. WDYT?
> >
>
> I believe Alexis has been working on this recently, are you using a recent
> build?
>
> Matthieu
>
>
> >
> > Thanks,
> > Milinda
> >
> > --
> > http://mpathirage.com
> > http://wso2.org "Oxygen for Web Service Developers"
> > http://wsaxc.blogspot.com "Web Services With Axis2/C"
> >
>



-- 
http://mpathirage.com
http://wso2.org "Oxygen for Web Service Developers"
http://wsaxc.blogspot.com "Web Services With Axis2/C"

Re: Instance creation issue

Posted by Matthieu Riou <ma...@gmail.com>.
On Tue, Apr 21, 2009 at 1:37 AM, Milinda Pathirage <
milinda.pathirage@gmail.com> wrote:

> I deployed a BPEL which tests SOAP Header support and sent a request
> without
> the SOAP Header part.
>
> In that case following exception thrown:
>
> [2009-04-21 11:32:42,386] FATAL -  Message missing part: header
> {org.apache.ode.bpel.rtrep.v2.PICK}
> [2009-04-21 11:32:42,389] ERROR -  Method "onRequestRcvd" in class
> "org.apache.ode.bpel.rtrep.v2.PICK$WAITING$2" threw an unexpected
> exception.
> {org.apache.ode.jacob.vpu.JacobVPU}
> org.apache.ode.bpel.rtrep.v2.InvalidContextException: Message missing part:
> header
>    at org.apache.ode.bpel.rtrep.v2.PICK.initVariable(PICK.java:190)
>    at org.apache.ode.bpel.rtrep.v2.PICK.access$400(PICK.java:47)
>    at
> org.apache.ode.bpel.rtrep.v2.PICK$WAITING$2.onRequestRcvd(PICK.java:270)
>    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.rtrep.v2.RuntimeInstanceImpl.execute(RuntimeInstanceImpl.java:639)
>    at
>
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:616)
>    at
>
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.executeCreateInstance(BpelRuntimeContextImpl.java:604)
> ....
> [2009-04-21 11:32:42,391] ERROR -  Work for instance {
> http://dfa.com/test}newProcess-2#501<http://dfa.com/test%7DnewProcess-2#501>in thread
> Thread[ODEServerImpl-1,5,main] resulted in an exception.
> {org.apache.ode.bpel.engine.BpelInstanceWorker}
> java.lang.RuntimeException:
> org.apache.ode.bpel.rtrep.v2.InvalidContextException: Message missing part:
> header
>    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.rtrep.v2.RuntimeInstanceImpl.execute(RuntimeInstanceImpl.java:639)
>    at
>
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:616)
>    at
>
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.executeCreateInstance(BpelRuntimeContextImpl.java:604)
>  ...
>
> I was able to fix the time out error by catching the BpelEngineException
> inside ODEProcess.invokeProcess method and sending back a SOAP Fault with
> exception message.
>
> But the problem is event there is a error in the incoming message, there is
> a instance created for this message and that instance is in ACTIVE state.
> In
> case of situation like this, I think the created instance must in error or
> failed state.


Agreed.


> And also in current ODE trunk we are not sending SOAP Fault if
> there is BpelEngineException. I think we need to send a soap fault when
> BpelEngineException occur. WDYT?
>

I believe Alexis has been working on this recently, are you using a recent
build?

Matthieu


>
> Thanks,
> Milinda
>
> --
> http://mpathirage.com
> http://wso2.org "Oxygen for Web Service Developers"
> http://wsaxc.blogspot.com "Web Services With Axis2/C"
>