Hi Matthieu, Thanks for the reply. I am using official 1.1.1. I am pasting the contents of RELEASE_NOTES for verification by you.
************** ======================== Apache ODE Release Notes ======================== Apache ODE 1.1.1 is a minor release reflecting all the small fixes and improvements we've added since 1.1. There's no major new feature in this release (this should come in due time) but chockfull of usability and performance enhancements. Apache ODE 1.1.1 requires Java 1.5.x. The WAR distribution can run in most J2EE servlet container. The JBI distribution should be able to run in any JBI container but has only been tested with ServiceMix 3.1 so far. See the BUILDING file if you want to build your own distribution from the source release. Changes: ------- * Performance improvements for persistent mode. * Better integration with Axis2 (possibility to provide a services.xml). * Weblogic support. * Lots of bug fixes. See https://issues.apache.org/jira/browse/ODE/fixforversion/12312750 ***************** Regards, Prakash Reddy Bande Altair Engg. Inc, Troy, MI -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Matthieu Riou Sent: Friday, May 30, 2008 10:10 AM To: [email protected] Cc: Dhanush Gopinath Subject: Re: Invoke throws NullPointerException Hi Prakash, Could you indicate which version of ODE you're using? Did you build it yourself from a branch or are you using the official 1.1.1? You could be hitting a bug we've had before and that has been fixed now due to the absence of response message to your invoke. Thanks, Matthieu On Thu, May 29, 2008 at 9:22 PM, Prakash Reddy Bande <[EMAIL PROTECTED]> wrote: > Hi, > > > > I have deployed a bpel process that invokes a web service. The wsdl is: > > > > <?xml version="1.0" encoding="UTF-8"?> > > <wsdl:definitions xmlns:tns="http://www.example.org/HTAssignUsersPT/" > > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > name="HTAssignUsersPT" > > xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" > > targetNamespace="http://www.example.org/HTAssignUsersPT/" > > xmlns:data="http://www.example.org/HTDataSchema/" > > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"> > > > > <plnk:partnerLinkType name="AssignUserServiceLT" > > > xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"> > > <plnk:role name="AssignUserServiceODE" > portType="tns:AssignUserPT" /> > > <plnk:role name="AssignUserServiceResponseODE" > > portType="tns:AssignUserResponsePT" > /> > > </plnk:partnerLinkType> > > > > <wsdl:types> > > <xsd:schema> > > <xsd:import > namespace="http://www.example.org/HTDataSchema/" > > > schemaLocation="HTDataSchema.xsd"> > > </xsd:import> > > </xsd:schema> > > </wsdl:types> > > > > <wsdl:message name="AssignUsersRequest"> > > <wsdl:part element="data:AssignUsers" > name="assinguserIP" /> > > </wsdl:message> > > <wsdl:message name="AssignUsersResponse"> > > <wsdl:part element="data:AssignUsersReply" > > name="assinguserRespIP" /> > > </wsdl:message> > > > > <wsdl:portType name="AssignUserPT"> > > <wsdl:operation name="AssignUsers"> > > <wsdl:input > message="tns:AssignUsersRequest" /> > > </wsdl:operation> > > </wsdl:portType> > > <wsdl:portType name="AssignUserResponsePT"> > > <wsdl:operation name="GetAssignUsersResponse"> > > <wsdl:input > message="tns:AssignUsersResponse" /> > > </wsdl:operation> > > </wsdl:portType> > > > > <wsdl:binding name="AssignUserBinding" > type="tns:AssignUserPT"> > > <soap:binding style="document" > > > transport="http://schemas.xmlsoap.org/soap/http" /> > > <wsdl:operation name="AssignUsers"> > > <soap:operation > > > soapAction="http://www.example.org/HTAssignUsersPT/AssignUsers" /> > > <wsdl:input> > > <soap:body use="literal" > /> > > </wsdl:input> > > </wsdl:operation> > > </wsdl:binding> > > > > <wsdl:binding name="AssignUserResponseBinding" > type="tns:AssignUserResponsePT"> > > <soap:binding style="document" > > > transport="http://schemas.xmlsoap.org/soap/http" /> > > <wsdl:operation name="GetAssignUsersResponse"> > > <soap:operation > > > soapAction="http://www.example.org/HTAssignUsersPT/GetAssignUsersRespons > e" /> > > <wsdl:input> > > <soap:body use="literal" > /> > > </wsdl:input> > > </wsdl:operation> > > </wsdl:binding> > > > > <wsdl:service name="AssignUserServiceODE"> > > <wsdl:port name="AssignUserServicePort" > > binding="tns:AssignUserBinding"> > > <soap:address > > > location="http://blrs58:8090/AssignUserWsODE/AssignUserServiceODE"></soa > p:address> > > </wsdl:port> > > <wsdl:port name="AssignUserResponseServicePort" > > > binding="tns:AssignUserResponseBinding"> > > <soap:address > location="http://localhost:8080/ode/processes/AssignUserResponse"></soap > :address> > > </wsdl:port> > > </wsdl:service> > > </wsdl:definitions> > > > > ******************* > > And the BPEL is > > > > <?xml version="1.0" encoding="UTF-8"?> > > <bpel:process > xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable" > xmlns:data="http://www.example.org/HTDataSchema/" > xmlns:ns1="http://www.example.org/HTCreateAssembly/" > xmlns:ns2="http://www.example.org/HTAssignUsersPT/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="HTCreateAssembly" > suppressJoinFailure="yes" targetNamespace="http://HTCreateAssembly"> > > <bpel:import importType="http://schemas.xmlsoap.org/wsdl/" > location="HTCreateAssembly.wsdl" > namespace="http://www.example.org/HTCreateAssembly/"/> > > <bpel:import importType="http://schemas.xmlsoap.org/wsdl/" > location="HTAssignUsersPT.wsdl" > namespace="http://www.example.org/HTAssignUsersPT/"/> > > <bpel:partnerLinks> > > <bpel:partnerLink myRole="StartAssemblyServiceODE" > name="StartAssemblyLT" partnerLinkType="ns1:StartAssemblyLT"/> > > <bpel:partnerLink myRole="AssignUserServiceResponseODE" > name="AssignUserServiceLT" partnerLinkType="ns2:AssignUserServiceLT" > partnerRole="AssignUserServiceODE" initializePartnerRole="yes"/> > > </bpel:partnerLinks> > > <bpel:variables> > > <bpel:variable name="inputUser" > messageType="ns1:StartAssemblyRequest"/> > > <bpel:variable name="assignUserResponse" > messageType="ns2:AssignUsersResponse"/> > > <bpel:variable name="assignedUser" > messageType="ns2:AssignUsersRequest"/> > > <bpel:variable name="tmpVar" type="xsd:string"/> > > </bpel:variables> > > <bpel:sequence> > > <bpel:receive createInstance="yes" name="Start" > operation="StartAssembly" partnerLink="StartAssemblyLT" > variable="inputUser"> > > </bpel:receive> > > <bpel:assign> > > <bpel:copy> > > <bpel:from> > > <bpel:literal> > > <data:AssignUsers> > > > <data:userid>A2</data:userid> > > </data:AssignUsers> > > </bpel:literal> > > </bpel:from> > > <bpel:to>$assignedUser.assinguserIP</bpel:to> > > > > <bpel:from>$inputUser.startAssemblyIP/data:userid</bpel:from> > > > <bpel:to>$assignedUser.assinguserIP/data:userid</bpel:to> > > > </bpel:copy> > > </bpel:assign> > > > > > > <bpel:invoke inputVariable="assignedUser" name="InvokeAssignUsers" > operation="AssignUsers" partnerLink="AssignUserServiceLT"> > > </bpel:invoke> > > <bpel:assign> > > <bpel:copy> > > <bpel:from> > > <bpel:literal> > > <data:AssignUsers> > > > <data:userid>A2</data:userid> > > </data:AssignUsers> > > </bpel:literal> > > </bpel:from> > > > <bpel:to>$assignUserResponse.assinguserRespIP</bpel:to> > > > > <bpel:from>$assignedUser.assinguserIP/data:userid</bpel:from> > > > <bpel:to>$assignUserResponse.assinguserRespIP/data:userid</bpel:to> > > > </bpel:copy> > > </bpel:assign> > > <bpel:receive name="ReceiveResponse" > operation="GetAssignUsersResponse" partnerLink="AssignUserServiceLT" > variable="assignUserResponse"> > > </bpel:receive> > > </bpel:sequence> > > </bpel:process> > > > > > > There is another wsdl that defines the partnerlinktype StartAssemblyLT > and the StartAssembly operation and an xsd that defines the complex > types used in "data:". > > > > The receive works fine but the invoke fails with following errors: > > > > DEBUG - GeronimoLog.debug(66) | INVOKING PARTNER: > partnerLink={PartnerLinkInstance > partnerLinkDecl=OPartnerLink#18,scopeInstanceId=3003}, op=AssignUsers > channel=null) > > DEBUG - GeronimoLog.debug(66) | INVOKE PARTNER (SEP): > sessionId=hqejbhcnphr3b2tiimfgqv partnerSessionId=null > > DEBUG - GeronimoLog.debug(66) | Routed: svcQname > {http://www.example.org/HTAssignUsersPT/}AssignUserServiceODE<http://www .example.org/HTAssignUsersPT/%7DAssignUserServiceODE>--> > BpelProcess[{http://HTCreateAssembly}HTCreateAssembly-41] > > DEBUG - GeronimoLog.debug(66) | Routed: svcQname > {http://www.example.org/HTAssignUsersPT/}AssignUserServiceODE<http://www .example.org/HTAssignUsersPT/%7DAssignUserServiceODE>--> > BpelProcess[{http://HTCreateAssembly}HTCreateAssembly-41] > > DEBUG - GeronimoLog.debug(66) | Invoking in a p2p interaction, > partnerrole {PartnerRoleMex#hqejbhcnphr3b2tiimfgqx [PID > {http://HTCreateAssembly}HTCreateAssembly-41] calling > null.AssignUsers(...)} - myrole {MyRoleMex#hqejbhcnphr3b2tiimfgr0 > [Client hqejbhcnphr3b2tiimfgqx] calling > {http://www.example.org/HTAssignUsersPT/}AssignUserServiceODE.AssignUser <http://www.example.org/HTAssignUsersPT/%7DAssignUserServiceODE.AssignUs er> > s(...)} > > DEBUG - GeronimoLog.debug(66) | Setting myRoleMex session ids for p2p > interaction, mySession null - partnerSess hqejbhcnphr3b2tiimfgqv > > DEBUG - GeronimoLog.debug(66) | SET MEX property > org.apache.ode.bpel.partnerRoleSessionId = hqejbhcnphr3b2tiimfgqv > > DEBUG - GeronimoLog.debug(66) | Routed: svcQname > {http://www.example.org/HTAssignUsersPT/}AssignUserServiceODE<http://www .example.org/HTAssignUsersPT/%7DAssignUserServiceODE>--> > BpelProcess[{http://HTCreateAssembly}HTCreateAssembly-41] > > DEBUG - GeronimoLog.debug(66) | invoke() EPR= null ==> > BpelProcess[{http://HTCreateAssembly}HTCreateAssembly-41] > > 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:760) > > at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:88) > > > > > > I could call the web service at > http://blrs58:8090/AssignUserWsODE/AssignUserServiceODE using sendsoap. > But the web service isn't getting called by invoke. I went through the > mail list and most of the messages on similar topic talk of assigning > the EPR. I tried all the options in > http://ode.apache.org/user-guide.html#UserGuide-ManipulatingEndpoints > but wasn't successful. > > > > Thanks, > > > > Prakash Reddy Bande > > Altair Engg. Inc, > > Troy, MI > > > >
