[ https://issues.apache.org/jira/browse/ODE-205?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Matthieu Riou resolved ODE-205. ------------------------------- Resolution: Fixed Fixed some time ago. > 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 > Fix For: 1.2 > > > 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.