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 <[EMAIL PROTECTED]> 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.

Reply via email to