I believe you have a namespaces conflict. You initialized the "doSomethingPLRequest" variable with namespace "http://example.ws" but refer to $doSomethingPLRequest.myinput ("><![CDATA[ns:myinput]]>) using xmlns:ns="http://test.webservices".
Try changing xmlns:xsd="http://example.ws" to xmlns:xsd="http://test.webservices" <bpel:process name="Caller" targetNamespace="http://MyTest.com/Test" suppressJoinFailure="yes" xmlns:tns="http://MyTest.com/Test" xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:ns="http://test.webservices"> ...... <bpel:assign validate="no" name="AssignInput"> <bpel:copy> <bpel:from> <bpel:literal xml:space="preserve"><xsd:doSomething xmlns:xsd="http://example.ws"> <xsd:myinput></xsd:myinput> </xsd:doSomething></bpel:literal> </bpel:from> <bpel:to part="parameters" variable="doSomethingPLRequest"></bpel:to> </bpel:copy> <bpel:copy> <bpel:from part="payload" variable="input"> <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[tns:input]]></bpel:query> </bpel:from> <bpel:to part="parameters" variable="doSomethingPLRequest"> <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[ns:myinput]]></bpel:query> </bpel:to> </bpel:copy> </bpel:assign> mrorange wrote: > > Hi, > > I've tried several tutorials on invoking external Web-Services with ODE. > So far, none of them ever worked. I followed the instructions on > http://www.codeproject.com/KB/webservices/BPELInvokeWebService.aspx. The > process deploys well, but I get following Soap-Fault, when I start the > process. > > <soapenv:Envelope > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> > <soapenv:Body> > <soapenv:Fault> > <faultcode>soapenv:Server</faultcode> > <faultstring > xmlns:axis2ns1="http://docs.oasis-open.org/wsbpel/2.0/process/executable">axis2ns1:selectionFailure</faultstring> > > <detail /> > </soapenv:Fault> > </soapenv:Body> > </soapenv:Envelope> > > The log says the following. > > DEBUG - GeronimoLog.debug(66) | Received request message for > Caller.{http://MyTest.com/Test}process > DEBUG - GeronimoLog.debug(66) | Starting transaction. > DEBUG - GeronimoLog.debug(66) | Routed: svcQname > {http://MyTest.com/Test}CallerService --> > BpelProcess[{http://MyTest.com/Test}Caller-86] > DEBUG - GeronimoLog.debug(66) | ODE routed to operation Operation: > name=process > style=REQUEST_RESPONSE,1 > Input: name=null > Message: name={http://MyTest.com/Test}CallerRequestMessage > Part: name=payload > elementName={http://MyTest.com/Test}CallerRequest > Output: name=null > Message: name={http://MyTest.com/Test}CallerResponseMessage > Part: name=payload > elementName={http://MyTest.com/Test}CallerResponse from service > {http://MyTest.com/Test}CallerService > DEBUG - GeronimoLog.debug(66) | Invoking ODE using MEX > {MyRoleMex#hqejbhcnphr4kxeeuuhlsb [Client hqejbhcnphr4kxeeuuhlsa] calling > {http://MyTest.com/Test}CallerService.process(...)} > DEBUG - GeronimoLog.debug(66) | Message content: <?xml version="1.0" > encoding="UTF-8"?> > <message><payload><CallerRequest xmlns="http://MyTest.com/Test" > xmlns:q0="http://MyTest.com/Test" > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> > <input>HALLO</input> > </CallerRequest></payload></message> > DEBUG - GeronimoLog.debug(66) | Routed: svcQname > {http://MyTest.com/Test}CallerService --> > BpelProcess[{http://MyTest.com/Test}Caller-86] > DEBUG - GeronimoLog.debug(66) | invoke() EPR= null ==> > BpelProcess[{http://MyTest.com/Test}Caller-86] > DEBUG - GeronimoLog.debug(66) | Commiting ODE MEX > {MyRoleMex#hqejbhcnphr4kxeeuuhlsb [Client hqejbhcnphr4kxeeuuhlsa] calling > {http://MyTest.com/Test}CallerService.process(...)} > DEBUG - GeronimoLog.debug(66) | Commiting transaction. > DEBUG - GeronimoLog.debug(66) | >> > handleWorkEvent(jobData={mexid=hqejbhcnphr4kxeeuuhlsb, > pid={http://MyTest.com/Test}Caller-86, type=INVOKE_INTERNAL}) > DEBUG - GeronimoLog.debug(66) | InvokeInternal event for mexid > hqejbhcnphr4kxeeuuhlsb > 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: 20.process: MSG RCVD keys=[] > mySessionId=null partnerSessionId=null > DEBUG - GeronimoLog.debug(66) | INPUTMSG: 20.process: routing failed, > CREATING NEW INSTANCE > DEBUG - GeronimoLog.debug(66) | BpelRuntimeContextImpl created for > instance 8902. INDEXED STATE={} > DEBUG - GeronimoLog.debug(66) | SELECT: PickResponseChannel#9: USING > CORRELATOR 20.process > 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#hqejbhcnphr4kxeeuuhlsb [Client > hqejbhcnphr4kxeeuuhlsa] calling > {http://MyTest.com/Test}CallerService.process(...)} > ERROR - GeronimoLog.error(104) | Assignment Fault: > {http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure,lineNo=65,faultExplanation=No > results for expression: {OXPath10Expression ns:myinput} > DEBUG - GeronimoLog.debug(66) | ProcessImpl completed with fault > '{http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure' > DEBUG - GeronimoLog.debug(66) | Processing an async reply from service > {http://MyTest.com/Test}CallerService > DEBUG - GeronimoLog.debug(66) | Received myrole mex response callback > DEBUG - GeronimoLog.debug(66) | Handling response for MEX > {MyRoleMex#hqejbhcnphr4kxeeuuhlsb [Client hqejbhcnphr4kxeeuuhlsa] calling > {http://MyTest.com/Test}CallerService.process(...)} > DEBUG - GeronimoLog.debug(66) | Starting transaction. > DEBUG - GeronimoLog.debug(66) | Fault response message: > {http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure > DEBUG - GeronimoLog.debug(66) | Returning fault: <?xml version='1.0' > encoding='utf-8'?><soapenv:Envelope > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><soapenv:Fault><faultcode>soapenv:Server</faultcode><faultstring > xmlns:axis2ns2="http://docs.oasis-open.org/wsbpel/2.0/process/executable">axis2ns2:selectionFailure</faultstring><detail > /></soapenv:Fault></soapenv:Body></soapenv:Envelope> > DEBUG - GeronimoLog.debug(66) | Releasing mex hqejbhcnphr4kxeeuuhlsb > DEBUG - GeronimoLog.debug(66) | Comitting transaction. > DEBUG - GeronimoLog.debug(66) | Reply for > Caller.{http://MyTest.com/Test}process > DEBUG - GeronimoLog.debug(66) | Reply message <?xml version='1.0' > encoding='utf-8'?><soapenv:Envelope > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><soapenv:Fault><faultcode>soapenv:Server</faultcode><faultstring > xmlns:axis2ns2="http://docs.oasis-open.org/wsbpel/2.0/process/executable">axis2ns2:selectionFailure</faultstring><detail > /></soapenv:Fault></soapenv:Body></soapenv:Envelope> > > I guess it is a namespace problem. Hopefully, anyone can give me a hint > solving this problem. > Here you can find the project files: > http://www.nabble.com/file/p25380380/TestDoSomething.zip > TestDoSomething.zip > I use Apache ODE 1.2 on a Tomcat 6.0.20. > > Thanks for your help. > -- View this message in context: http://www.nabble.com/Invoking-external-Web-Service-results-in-SoapFault-tp25380380p25393013.html Sent from the Apache Ode User mailing list archive at Nabble.com.
