NPE in PartnerRoleMessageExchangeImpl createPartnerRoleMex()
------------------------------------------------------------

                 Key: ODE-205
                 URL: https://issues.apache.org/jira/browse/ODE-205
             Project: ODE
          Issue Type: Bug
          Components: BPEL Runtime
            Reporter: Alex Boisvert
            Assignee: Maciej Szefler


On the ode-user mailing list, Thilina Gunarathne reported the following:
http://mail-archives.apache.org/mod_mbox/ode-user/200710.mbox/[EMAIL PROTECTED]

(This applies to the -trunk)

I tried to modify the HelloWorld sample to invoke an external service.
The external service was invoked successfully and the response was
received to ODE..
At this point  the process fails with a NPE.

PartnerLinkPartnerRoleImpl line 62..
PartnerRoleMessageExchangeImpl createPartnerRoleMex(MessageExchangeDAO mexdao) {
       InvocationStyle istyle = mexdao.getInvocationStyle();
       ......
       switch (istyle) {

NPE occurs due to the style being NULL.

Am I doing anything wrong?.. (BPEL & the WSDL docs are attached).

But IMHO the NPE needs be checked and should throw a meaningful
exception.. Also the value for getInvocationStyle() in all of the
MessageExchangeDAO implementations have the possibility to be  NULL..

thanks,
Thilina

org.apache.ode.bpel.iapi.BpelEngineException: java.lang.NullPointerException
       at 
org.apache.ode.bpel.engine.BpelServerImpl.getMessageExchange(BpelServerImpl.java:597)
       at org.apache.ode.axis2.ExternalService.reply(ExternalService.java:282)
       at org.apache.ode.axis2.ExternalService.invoke(ExternalService.java:145)
       at 
org.apache.ode.axis2.MessageExchangeContextImpl.invokePartnerUnreliable(MessageExchangeContextImpl.java:67)
       at 
org.apache.ode.bpel.engine.PartnerLinkPartnerRoleImpl.invokeInMem(PartnerLinkPartnerRoleImpl.java:208)
       at 
org.apache.ode.bpel.engine.PartnerLinkPartnerRoleImpl.invokeIL(PartnerLinkPartnerRoleImpl.java:120)
       at 
org.apache.ode.bpel.engine.BpelProcess.invokePartner(BpelProcess.java:1290)
       at 
org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:731)
       at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:96)
       at sun.reflect.GeneratedMethodAccessor57.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:762)
       at 
org.apache.ode.bpel.engine.BpelProcess.executeCreateInstance(BpelProcess.java:314)
       at org.apache.ode.bpel.engine.BpelProcess$2.call(BpelProcess.java:261)
       at org.apache.ode.bpel.engine.BpelProcess$2.call(BpelProcess.java:260)
       at 
org.apache.ode.bpel.engine.BpelProcess$ProcessCallable.call(BpelProcess.java:1128)
       at 
org.apache.ode.bpel.engine.BpelInstanceWorker.doInstanceWork(BpelInstanceWorker.java:174)
       at 
org.apache.ode.bpel.engine.BpelInstanceWorker.execInCurrentThread(BpelInstanceWorker.java:108)
       at 
org.apache.ode.bpel.engine.BpelProcess.doInstanceWork(BpelProcess.java:420)
       at 
org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:259)
       at 
org.apache.ode.bpel.engine.MyRoleMessageExchangeImpl.doInvoke(MyRoleMessageExchangeImpl.java:132)
       at 
org.apache.ode.bpel.engine.UnreliableMyRoleMessageExchangeImpl$1.call(UnreliableMyRoleMessageExchangeImpl.java:48)
       at 
org.apache.ode.bpel.engine.UnreliableMyRoleMessageExchangeImpl$1.call(UnreliableMyRoleMessageExchangeImpl.java:47)
       at 
org.apache.ode.bpel.engine.BpelProcess$ProcessCallable.call(BpelProcess.java:1128)
       at org.apache.ode.bpel.engine.Contexts.execTransaction(Contexts.java:105)
       at 
org.apache.ode.bpel.engine.BpelServerImpl$TransactedCallable.call(BpelServerImpl.java:833)
       at 
org.apache.ode.bpel.engine.BpelServerImpl$ServerCallable.call(BpelServerImpl.java:811)
       at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
       at java.util.concurrent.FutureTask.run(FutureTask.java:123)
       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 
org.apache.ode.bpel.engine.PartnerLinkPartnerRoleImpl.createPartnerRoleMex(PartnerLinkPartnerRoleImpl.java:66)
       at 
org.apache.ode.bpel.engine.BpelProcess.createPartnerRoleMex(BpelProcess.java:889)
       at 
org.apache.ode.bpel.engine.BpelServerImpl$3.call(BpelServerImpl.java:578)
       at 
org.apache.ode.bpel.engine.BpelServerImpl$3.call(BpelServerImpl.java:555)
       at 
org.apache.ode.bpel.engine.BpelServerImpl.getMessageExchange(BpelServerImpl.java:591)
       ... 34 more
12:58:19,997 ERROR [ExternalService] Error executing reply
transaction; reply will be lost.
org.apache.ode.bpel.iapi.BpelEngineException: java.lang.NullPointerException
       at 
org.apache.ode.bpel.engine.BpelServerImpl.getMessageExchange(BpelServerImpl.java:597)
       at org.apache.ode.axis2.ExternalService.reply(ExternalService.java:282)
       at org.apache.ode.axis2.ExternalService.invoke(ExternalService.java:145)
       at 
org.apache.ode.axis2.MessageExchangeContextImpl.invokePartnerUnreliable(MessageExchangeContextImpl.java:67)
       at 
org.apache.ode.bpel.engine.PartnerLinkPartnerRoleImpl.invokeInMem(PartnerLinkPartnerRoleImpl.java:208)
       at 
org.apache.ode.bpel.engine.PartnerLinkPartnerRoleImpl.invokeIL(PartnerLinkPartnerRoleImpl.java:120)
       at 
org.apache.ode.bpel.engine.BpelProcess.invokePartner(BpelProcess.java:1290)
       at 
org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:731)
       at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:96)
       at sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source)



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to