You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ode.apache.org by mrorange <ro...@googlemail.com> on 2009/09/10 11:53:26 UTC
Invoking external Web-Service results in SoapFault
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-tp25380380p25380380.html
Sent from the Apache Ode User mailing list archive at Nabble.com.
Re: Invoking external Web-Service results in SoapFault
Posted by LeeCK <le...@yahoo.com>.
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.