Hi Stefano, Did you get any answers for this? Do we need to have different services for different portTypes?
I am also getting the same exception in INVOKE run method. Please let me know. Thanks Dhanush -----Original Message----- From: Stefano Tranquillini [mailto:[email protected]] Sent: Friday, December 11, 2009 8:41 PM To: [email protected] Subject: Port and service: Method "run" in class "org.apache.ode.bpel.runtime.INVOKE" threw an unexpected exception. Hi little question, i don't have experiences in port and service, but i found a thing (probably i'm on fault) anyway. the question is: each service can be attached at only one portType? can a service has 2 ports that is used for 2 different portType? if the answer is yes at first and no at second the rest is unuseful, i'm in fault! otherwise there's a problem if i specisfy my wsdl like this: <wsdl:service name="MyService"> <wsdl:port name="PortInvoke1" binding="tns:PortTypeInvokeBindingSOAP"> <soap:address location=" http://localhost:8080/RestServices/services/provaApps/test.jsp" /> </wsdl:port> </wsdl:service> <wsdl:service name="MyService2"> <wsdl:port name="PortReceive1" binding="tns:PortTypeReceiveBindingSOAP"> <soap:address location=" http://localhost:8080/ode/processes/provaApps/searchPos" /> </wsdl:port> </wsdl:service> and deploy like this <?xml version="1.0" encoding="UTF-8"?> <deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03" xmlns:sample=" http://eclipse.org/bpel/sample" xmlns:searchPos=" http://www.example.org/searchPos/"> <process name="sample:Istanze"> <active>true</active> <process-events generate="all"/> <provide partnerLink="SearchPos"> <service name="searchPos:MyService2" port="PortReceive1"/> </provide> <invoke partnerLink="SearchPos"> <service name="searchPos:MyService" port="PortInvoke1"/> </invoke> </process> </deploy> all goes ok. if i create only ONE sevice like this with 2 ports: <wsdl:service name="MyService"> <wsdl:port name="PortInvoke1" binding="tns:PortTypeInvokeBindingSOAP"> <soap:address location=" http://localhost:8080/RestServices/services/provaApps/test.jsp" /> </wsdl:port> <wsdl:port name="PortReceive1" binding="tns:PortTypeReceiveBindingSOAP"> <soap:address location=" http://localhost:8080/ode/processes/provaApps/searchPos" /> </wsdl:port> </wsdl:service> and deploy like this: <?xml version="1.0" encoding="UTF-8"?> <deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03" xmlns:sample=" http://eclipse.org/bpel/sample" xmlns:searchPos=" http://www.example.org/searchPos/"> <process name="sample:Istanze"> <active>true</active> <process-events generate="all"/> <provide partnerLink="SearchPos"> <service name="searchPos:MyService" port="PortReceive1"/> </provide> <invoke partnerLink="SearchPos"> <service name="searchPos:MyService" port="PortInvoke1"/> </invoke> </process> </deploy> when i call the bpel i receive an exception by ode: DEBUG - GeronimoLog.debug(66) | Process store event: {ProcessStoreEvent#DEPLOYED:{http://eclipse.org/bpel/sample}Istanze-8} DEBUG - GeronimoLog.debug(66) | Ignoring store event: {ProcessStoreEvent#DEPLOYED:{http://eclipse.org/bpel/sample}Istanze-8} DEBUG - GeronimoLog.debug(66) | Process store event: {ProcessStoreEvent#ACTVIATED:{http://eclipse.org/bpel/sample}Istanze-8} DEBUG - GeronimoLog.debug(66) | register: { http://eclipse.org/bpel/sample}Istanze-8 DEBUG - GeronimoLog.debug(66) | Registering process { http://eclipse.org/bpel/sample}Istanze-8 with server. DEBUG - GeronimoLog.debug(66) | Register process: serviceId={ http://www.example.org/searchPos/}MyService:PortReceive1, process=BpelProcess[{http://eclipse.org/bpel/sample}Istanze-8] DEBUG - GeronimoLog.debug(66) | Activating { http://eclipse.org/bpel/sample}Istanze-8 DEBUG - GeronimoLog.debug(66) | Destroying service { http://www.example.org/searchPos/}MyService port PortReceive1 DEBUG - GeronimoLog.debug(66) | Couldn't find service { http://www.example.org/searchPos/}MyService port PortReceive1 to destroy. DEBUG - GeronimoLog.debug(66) | Create AxisService: service={ http://www.example.org/searchPos/}MyService port=PortReceive1 WSDL=searchPos2.wsdl BPEL=Istanze.bpel DEBUG - GeronimoLog.debug(66) | Looking for Axis2 service configuration file: file:/home/stefano/apache-tomcat-6.0.20/webapps/ode/WEB-INF/processes/BP ELTOFIXALL/MyService.axis2 DEBUG - GeronimoLog.debug(66) | Axis2 service configuration not found: file:/home/stefano/apache-tomcat-6.0.20/webapps/ode/WEB-INF/processes/BP ELTOFIXALL/MyService.axis2 DEBUG - GeronimoLog.debug(66) | Created Axis2 service { http://www.example.org/searchPos/}MyService DEBUG - GeronimoLog.debug(66) | Activated { http://eclipse.org/bpel/sample}Istanze-8 myrole SearchPos: EPR is org.apache.ode.bpel.epr.wsaendpo...@1f44f8a DEBUG - GeronimoLog.debug(66) | Destroying service { http://www.example.org/searchPos/}MyService port PortReceive1 DEBUG - GeronimoLog.debug(66) | Create AxisService: service={ http://www.example.org/searchPos/}MyService port=PortReceive1 WSDL=searchPos2.wsdl BPEL=Istanze.bpel DEBUG - GeronimoLog.debug(66) | Looking for Axis2 service configuration file: file:/home/stefano/apache-tomcat-6.0.20/webapps/ode/WEB-INF/processes/BP ELTOFIXALL/MyService.axis2 DEBUG - GeronimoLog.debug(66) | Axis2 service configuration not found: file:/home/stefano/apache-tomcat-6.0.20/webapps/ode/WEB-INF/processes/BP ELTOFIXALL/MyService.axis2 DEBUG - GeronimoLog.debug(66) | Created Axis2 service { http://www.example.org/searchPos/}MyService DEBUG - GeronimoLog.debug(66) | Activated { http://eclipse.org/bpel/sample}Istanze-8 myrole SearchPos2: EPR is org.apache.ode.bpel.epr.wsaendpo...@1a755e DEBUG - GeronimoLog.debug(66) | Activated { http://eclipse.org/bpel/sample}Istanze-8 DEBUG - GeronimoLog.debug(66) | Rehydrating process { http://eclipse.org/bpel/sample}Istanze-8 DEBUG - GeronimoLog.debug(66) | Processing <invoke> element for process { http://eclipse.org/bpel/sample}Istanze-8: partnerlink SearchPos --> { http://www.example.org/searchPos/}MyService:PortInvoke1 DEBUG - GeronimoLog.debug(66) | Processing <invoke> element for process { http://eclipse.org/bpel/sample}Istanze-8: partnerlink SearchPos2 --> { http://www.example.org/searchPos/}MyService:PortInvoke2 DEBUG - GeronimoLog.debug(66) | Creating SOAP-bound external service { http://www.example.org/searchPos/}MyService DEBUG - GeronimoLog.debug(66) | Created external service { http://www.example.org/searchPos/}MyService DEBUG - GeronimoLog.debug(66) | Activated { http://eclipse.org/bpel/sample}Istanze-8 partnerrole SearchPos: EPR is org.apache.ode.bpel.epr.wsaendpo...@1d93f39 DEBUG - GeronimoLog.debug(66) | Creating SOAP-bound external service { http://www.example.org/searchPos/}MyService DEBUG - GeronimoLog.debug(66) | Created external service { http://www.example.org/searchPos/}MyService DEBUG - GeronimoLog.debug(66) | Activated { http://eclipse.org/bpel/sample}Istanze-8 partnerrole SearchPos2: EPR is org.apache.ode.bpel.epr.wsaendpo...@1c5cdac DEBUG - GeronimoLog.debug(66) | Creating process DAO for { http://eclipse.org/bpel/sample}Istanze-8 (guid=hqejbhcnphr4tk4allwnlb) INFO - GeronimoLog.info(79) | Registered process { http://eclipse.org/bpel/sample}Istanze-8. INFO - GeronimoLog.info(79) | Deployment of artifact BPELTOFIXALL successful: [{http://eclipse.org/bpel/sample}Istanze-8] DEBUG - GeronimoLog.debug(66) | Checking for Service using target endpoint address : http://localhost:8080/ode/processes/provaApps/searchPos DEBUG - GeronimoLog.debug(66) | Found service in registry from name provaApps/searchPos: provaApps/searchPos DEBUG - GeronimoLog.debug(66) | The system is checking for the operation using the following WSAAction: DEBUG - GeronimoLog.debug(66) | Checking for Operation using SOAP message body's first child's local name : search DEBUG - GeronimoLog.debug(66) | Found operation org.apache.axis2.description.inonlyaxisoperat...@28388b DEBUG - GeronimoLog.debug(66) | Found a header in incoming message, checking if there are endpoints there. DEBUG - GeronimoLog.debug(66) | Received one-way message for provaApps/searchPos.{http://www.example.org/searchPos/}search DEBUG - GeronimoLog.debug(66) | Starting transaction. DEBUG - GeronimoLog.debug(66) | Routed: svcQname { http://www.example.org/searchPos/}MyService --> BpelProcess[{ http://eclipse.org/bpel/sample}Istanze-8] DEBUG - GeronimoLog.debug(66) | ODE routed to operation Operation: name=search style=ONE_WAY,0 Input: name=null Message: name={http://www.example.org/searchPos/}searchResponse Part: name=parameters elementName={http://www.example.org/searchPos/}search from service { http://www.example.org/searchPos/}MyService DEBUG - GeronimoLog.debug(66) | Invoking ODE using MEX {MyRoleMex#hqejbhcnphr4tk4allwnld [Client hqejbhcnphr4tk4allwnlc] calling { http://www.example.org/searchPos/}MyService.search(...)} DEBUG - GeronimoLog.debug(66) | Message content: <?xml version="1.0" encoding="UTF-8"?> <message><parameters><search xmlns="http://www.example.org/searchPos/" xmlns:sear="http://www.example.org/searchPos/" xmlns:soapenv=" http://schemas.xmlsoap.org/soap/envelope/"> <where xmlns="">ciao</where> <what xmlns="">ciao</what> </search></parameters></message> DEBUG - GeronimoLog.debug(66) | Routed: svcQname { http://www.example.org/searchPos/}MyService --> BpelProcess[{ http://eclipse.org/bpel/sample}Istanze-8] DEBUG - GeronimoLog.debug(66) | invoke() EPR= null ==> BpelProcess[{ http://eclipse.org/bpel/sample}Istanze-8] DEBUG - GeronimoLog.debug(66) | Commiting ODE MEX {MyRoleMex#hqejbhcnphr4tk4allwnld [Client hqejbhcnphr4tk4allwnlc] calling { http://www.example.org/searchPos/}MyService.search(...)} DEBUG - GeronimoLog.debug(66) | Commiting transaction. DEBUG - GeronimoLog.debug(66) | Releasing mex hqejbhcnphr4tk4allwnld DEBUG - GeronimoLog.debug(66) | >> handleWorkEvent(jobData={mexid=hqejbhcnphr4tk4allwnld, pid={ http://eclipse.org/bpel/sample}Istanze-8, type=INVOKE_INTERNAL}) DEBUG - GeronimoLog.debug(66) | InvokeInternal event for mexid hqejbhcnphr4tk4allwnld DEBUG - GeronimoLog.debug(66) | GET MEX property org.apache.ode.bpel.myRoleSessionId = null DEBUG - GeronimoLog.debug(66) | GET MEX property org.apache.ode.bpel.myRoleSessionId = null DEBUG - GeronimoLog.debug(66) | GET MEX property org.apache.ode.bpel.partnerRoleSessionId = null DEBUG - GeronimoLog.debug(66) | INPUTMSG: 12.search: MSG RCVD keys=[] mySessionId=null partnerSessionId=null DEBUG - GeronimoLog.debug(66) | INPUTMSG: 12.search: routing failed, CREATING NEW INSTANCE DEBUG - GeronimoLog.debug(66) | BpelRuntimeContextImpl created for instance 2102. INDEXED STATE={} DEBUG - GeronimoLog.debug(66) | SELECT: PickResponseChannel#9: USING CORRELATOR 12.search DEBUG - GeronimoLog.debug(66) | SELECT: PickResponseChannel#9: CHECKING for NEW INSTANCE match DEBUG - GeronimoLog.debug(66) | INPUTMSGMATCH: Changing process instance state from ready to active DEBUG - GeronimoLog.debug(66) | SELECT: PickResponseChannel#9: FOUND match for NEW instance mexRef={MyRoleMex#hqejbhcnphr4tk4allwnld [Client hqejbhcnphr4tk4allwnlc] calling { http://www.example.org/searchPos/}MyService.search(...)} DEBUG - GeronimoLog.debug(66) | INVOKING PARTNER: partnerLink={PartnerLinkInstance partnerLinkDecl=OPartnerLink#12,scopeInstanceId=2154}, op=update channel=null) DEBUG - GeronimoLog.debug(66) | INVOKE PARTNER (SEP): sessionId=hqejbhcnphr4tk4allwnlf partnerSessionId=null DEBUG - GeronimoLog.debug(66) | Routed: svcQname { http://www.example.org/searchPos/}MyService --> BpelProcess[{ http://eclipse.org/bpel/sample}Istanze-8] DEBUG - GeronimoLog.debug(66) | Routed: svcQname { http://www.example.org/searchPos/}MyService --> BpelProcess[{ http://eclipse.org/bpel/sample}Istanze-8] DEBUG - GeronimoLog.debug(66) | Invoking in a p2p interaction, partnerrole {PartnerRoleMex#hqejbhcnphr4tk4allwnlh [PID { http://eclipse.org/bpel/sample}Istanze-8] calling null.update(...)} - myrole {MyRoleMex#hqejbhcnphr4tk4allwnli [Client hqejbhcnphr4tk4allwnlh] calling { http://www.example.org/searchPos/}MyService.update(...)} DEBUG - GeronimoLog.debug(66) | Setting myRoleMex session ids for p2p interaction, mySession null - partnerSess hqejbhcnphr4tk4allwnlf DEBUG - GeronimoLog.debug(66) | SET MEX property org.apache.ode.bpel.partnerRoleSessionId = hqejbhcnphr4tk4allwnlf DEBUG - GeronimoLog.debug(66) | Routed: svcQname { http://www.example.org/searchPos/}MyService --> BpelProcess[{ http://eclipse.org/bpel/sample}Istanze-8] DEBUG - GeronimoLog.debug(66) | invoke() EPR= null ==> BpelProcess[{ http://eclipse.org/bpel/sample}Istanze-8] ERROR - GeronimoLog.error(108) | Method "run" in class "org.apache.ode.bpel.runtime.INVOKE" threw an unexpected exception. java.lang.NullPointerException at org.apache.ode.bpel.engine.MyRoleMessageExchangeImpl.invoke(MyRoleMessag eExchangeImpl.java:134) at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeCont extImpl.java:765) at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:91) at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor Impl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) 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(BpelRuntimeCon textImpl.java:835) at org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeNewInstance(Partn erLinkMyRoleImpl.java:197) at org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:20 4) at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java: 372) at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl. java:326) at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl. java:373) at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler .java:337) at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler .java:336) at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleSc heduler.java:174) at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.j ava:335) at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.j ava:332) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecuto r.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.ja va:908) at java.lang.Thread.run(Thread.java:619) ERROR - GeronimoLog.error(108) | Scheduled job failed; jobDetail={mexid=hqejbhcnphr4tk4allwnld, pid={ http://eclipse.org/bpel/sample}Istanze-8, type=INVOKE_INTERNAL} 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(BpelRuntimeCon textImpl.java:835) at org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeNewInstance(Partn erLinkMyRoleImpl.java:197) at org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:20 4) at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java: 372) at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl. java:326) at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl. java:373) at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler .java:337) at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler .java:336) at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleSc heduler.java:174) at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.j ava:335) at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.j ava:332) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecuto r.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.ja va:908) at java.lang.Thread.run(Thread.java:619) Caused by: java.lang.NullPointerException at org.apache.ode.bpel.engine.MyRoleMessageExchangeImpl.invoke(MyRoleMessag eExchangeImpl.java:134) at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeCont extImpl.java:765) at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:91) at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor Impl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451) ... 17 more ERROR - GeronimoLog.error(108) | Error while processing transaction, retrying. org.apache.ode.bpel.iapi.Scheduler$JobProcessorException: java.lang.RuntimeException: java.lang.NullPointerException at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl. java:336) at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl. java:373) at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler .java:337) at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler .java:336) at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleSc heduler.java:174) at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.j ava:335) at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.j ava:332) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecuto r.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.ja va:908) at java.lang.Thread.run(Thread.java:619) Caused by: 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(BpelRuntimeCon textImpl.java:835) at org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeNewInstance(Partn erLinkMyRoleImpl.java:197) at org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:20 4) at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java: 372) at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl. java:326) ... 11 more Caused by: java.lang.NullPointerException at org.apache.ode.bpel.engine.MyRoleMessageExchangeImpl.invoke(MyRoleMessag eExchangeImpl.java:134) at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeCont extImpl.java:765) at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:91) at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor Impl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451) ... 17 more -- Stefano
