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.