ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ciot, Thierry" <thierry.c...@compuware.com>
Subject RE: ODE fault - Exception: SOAP body does not contain expected part wrapper
Date Mon, 11 Jun 2007 01:00:49 GMT
Thanks.

-----Original Message-----
From: Matthieu Riou [mailto:matthieu.riou@gmail.com] 
Sent: Friday, June 08, 2007 5:20 PM
To: ode-user@incubator.apache.org
Subject: Re: ODE fault - Exception: SOAP body does not contain expected
part wrapper

Hi Thierry,

A couple of things:

1. As you mentioned, ODE only support literals. There are several issues
with encoded and it's prohibited by WS-BasicProfile. We usually try to
stick
to the profile to avoid interoperability issues.

2. ODE doesn't support SOAP 1.2 for now

Cheers,
Matthieu

On 6/8/07, Ciot, Thierry <thierry.ciot@compuware.com> wrote:
>
> This rather long, I apologize in advance but it seems the best way to
> explain what I'm seeing.
>
> I have deployed one process and when I try to access it I get an
> exception: SOAP body does not contain expected part wrapper.
>
>
>
> Below is what I send (using SoapUI):
>
>
>
> <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
> xmlns:loan="http://loanRequest.thierry">
>
>    <soap:Header/>
>
>    <soap:Body>
>
>       <loan:requestLoan>
>
>          <amount>100</amount>
>
>          <lastName>x</lastName>
>
>          <firstName>y</firstName>
>
>       </loan:requestLoan>
>
>    </soap:Body>
>
> </soap:Envelope>
>
>
>
> And here is what I receive:
>
>
>
> <soapenv:Envelope
> xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
>
>    <soapenv:Body>
>
>       <soapenv:Fault xmlns:java="java:package org.apache.ode.axis2">
>
>          <soapenv:Code>
>
>
> <soapenv:Value>java:org.apache.ode.axis2.OdeFault</soapenv:Value>
>
>          </soapenv:Code>
>
>          <soapenv:Reason>
>
>             <soapenv:Text xml:lang="en-US">An exception occured while
> invoking ODE.</soapenv:Text>
>
>          </soapenv:Reason>
>
>          <soapenv:Detail/>
>
>       </soapenv:Fault>
>
>    </soapenv:Body>
>
> </soapenv:Envelope>
>
>
>
> What I noticed that seems wring is that  the soap body does not
> correspond to what I have specified in the wsdl file.
>
>
>
> Here is what I specify:
>
>
>
> <wsdl:operation name="requestLoan">
>
>       <soap:operation soapAction="" style="rpc"/>
>
>       <wsdl:input>
>
>         <soap:body
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> use="encoded"/>
>
>       </wsdl:input>
>
>       <wsdl:output>
>
>         <soap:body
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> use="encoded"/>
>
>       </wsdl:output>
>
> </wsdl:operation>
>
>
>
>
>
> <wsdl:binding name="LoanRequestSOAP12Binding"
> type="tns:LoanRequestPortType">
>
> <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"
> style="document"/>
>
>       <wsdl:operation name="requestLoan">
>
>   <soap12:operation soapAction="" style="document"/>
>
>             <wsdl:input>
>
> <soap12:body use="literal"/>
>
> </wsdl:input>
>
>       <wsdl:output>
>
> <soap12:body use="literal"/>
>
> </wsdl:output>
>
> </wsdl:operation>
>
> </wsdl:binding>
>
>
>
> So it seems that even though I specified <soap:body
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> use="encoded"/> ODE implemented <soap12:body use="literal"/>
>
>
>
> I noticed that the HelloWorld2 example was using literal on both ends.
>
>
>
> Is ODE only supporting literal?
>
>
>
> Below is the stack trace in the log file.
>
>
>
> Thanks, Thierry.
>
>
>
> ERROR - GeronimoLog.error(108) | Exception occured while invoking ODE
>
> org.apache.ode.axis2.OdeFault: SOAP body does not contain expected
part
> wrapper: service {http://loanRequest.thierry}LoanRequestService port
> LoanRequestPort wrapper requestLoan; nested exception is:
>
>       java.lang.IllegalArgumentException: SOAP body does not contain
> expected part wrapper: service
> {http://loanRequest.thierry}LoanRequestService port LoanRequestPort
> wrapper requestLoan
>
>       at
>
org.apache.ode.axis2.util.SoapMessageConverter.extractSoapBodyParts(Soap
> MessageConverter.java:358)
>
>       at
>
org.apache.ode.axis2.util.SoapMessageConverter.parseSoapRequest(SoapMess
> ageConverter.java:292)
>
>       at
>
org.apache.ode.axis2.ODEService.onAxisMessageExchange(ODEService.java:11
> 8)
>
>       at
>
org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic(ODEMes
> sageReceiver.java:68)
>
>       at
>
org.apache.ode.axis2.hooks.ODEMessageReceiver.receive(ODEMessageReceiver
> .java:49)
>
>       at
org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:497)
>
>       at
>
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostReques
> t(HTTPTransportUtils.java:328)
>
>       at
>
org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:254)
>
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
>
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>
>       at
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
> tionFilterChain.java:269)
>
>       at
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
> erChain.java:188)
>
>       at
>
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
> e.java:210)
>
>       at
>
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
> e.java:174)
>
>       at
>
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
> :127)
>
>       at
>
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
> :117)
>
>       at
>
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
> java:108)
>
>       at
>
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:1
> 51)
>
>       at
>
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:87
> 0)
>
>       at
>
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.proc
> essConnection(Http11BaseProtocol.java:665)
>
>       at
>
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint
> .java:528)
>
>       at
>
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollow
> erWorkerThread.java:81)
>
>       at
>
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
> .java:685)
>
>       at java.lang.Thread.run(Unknown Source)
>
> Caused by: java.lang.IllegalArgumentException: SOAP body does not
> contain expected part wrapper: service
> {http://loanRequest.thierry}LoanRequestService port LoanRequestPort
> wrapper requestLoan
>
>       at
>
org.apache.ode.axis2.Messages.msgSoapBodyDoesNotContainExpectedPartWrapp
> er(Messages.java:235)
>
>       ... 24 more
>
> 16:29:03,803 ERROR [ODEService] Exception occured while invoking ODE
>
> org.apache.ode.axis2.OdeFault: SOAP body does not contain expected
part
> wrapper: service {http://loanRequest.thierry}LoanRequestService port
> LoanRequestPort wrapper requestLoan; nested exception is:
>
>       java.lang.IllegalArgumentException: SOAP body does not contain
> expected part wrapper: service
> {http://loanRequest.thierry}LoanRequestService port LoanRequestPort
> wrapper requestLoan
>
>       at
>
org.apache.ode.axis2.util.SoapMessageConverter.extractSoapBodyParts(Soap
> MessageConverter.java:358)
>
>       at
>
org.apache.ode.axis2.util.SoapMessageConverter.parseSoapRequest(SoapMess
> ageConverter.java:292)
>
>       at
>
org.apache.ode.axis2.ODEService.onAxisMessageExchange(ODEService.java:11
> 8)
>
>       at
>
org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic(ODEMes
> sageReceiver.java:68)
>
>       at
>
org.apache.ode.axis2.hooks.ODEMessageReceiver.receive(ODEMessageReceiver
> .java:49)
>
>       at
org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:497)
>
>       at
>
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostReques
> t(HTTPTransportUtils.java:328)
>
>       at
>
org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:254)
>
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
>
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>
>       at
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
> tionFilterChain.java:269)
>
>       at
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
> erChain.java:188)
>
>       at
>
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
> e.java:210)
>
>       at
>
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
> e.java:174)
>
>       at
>
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
> :127)
>
>       at
>
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
> :117)
>
>       at
>
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
> java:108)
>
>       at
>
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:1
> 51)
>
>       at
>
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:87
> 0)
>
>       at
>
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.proc
> essConnection(Http11BaseProtocol.java:665)
>
>       at
>
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint
> .java:528)
>
>       at
>
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollow
> erWorkerThread.java:81)
>
>       at
>
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
> .java:685)
>
>       at java.lang.Thread.run(Unknown Source)
>
> Caused by: java.lang.IllegalArgumentException: SOAP body does not
> contain expected part wrapper: service
> {http://loanRequest.thierry}LoanRequestService port LoanRequestPort
> wrapper requestLoan
>
>       at
>
org.apache.ode.axis2.Messages.msgSoapBodyDoesNotContainExpectedPartWrapp
> er(Messages.java:235)
>
>       ... 24 more
>
>
> The contents of this e-mail are intended for the named addressee only.
It
> contains information that may be confidential. Unless you are the
named
> addressee or an authorized designee, you may not copy or use it, or
disclose
> it to anyone else. If you received it in error please notify us
immediately
> and then destroy it.
>

The contents of this e-mail are intended for the named addressee only. It contains information
that may be confidential. Unless you are the named addressee or an authorized designee, you
may not copy or use it, or disclose it to anyone else. If you received it in error please
notify us immediately and then destroy it. 

Mime
View raw message