Hi Matthieu, Do you mean there was a bug in 1.1.1 that is fixed and building from a branch will give us that fix "or" the bug was prior to 1.1.1 and is already fixed in official release? 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 > > > >
