ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matthieu Riou" <matthieu.r...@gmail.com>
Subject Re: ODE fault - Exception: SOAP body does not contain expected part wrapper
Date Fri, 08 Jun 2007 21:20:24 GMT
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.
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message