(Forwarding to the mailing-list) Could you send you message definition as well? The operation looks good but it seems that the part name is missing (in rpc/lit the operation name is used as a wrapper and then you have an element for each part).
Cheers, Matthieu On 7/30/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > > Matthieu, Thierry, > > I have a similar issue however im using literal. > > <binding name="HelloWorldSoapBinding" type="tns:MyHelloWorld"> > <soap:binding style="rpc" transport=" > http://schemas.xmlsoap.org/soap/http"/> > <operation name="initiate"> > <soap:operation soapAction="http://sample.bpel.org/bpel/sample > "/> > <input> > <soap:body use="literal"/> > </input> > </operation> > </binding> > > > This is my request: > <SOAP-ENV:Envelope xmlns:SOAP-ENV=" > http://schemas.xmlsoap.org/soap/envelope/"> > <!-- test soap message --> > <SOAP-ENV:Body> > <ns1:initiate xmlns:ns1="http://ode/bpel/unit-test.wsdl"> > <input>Hello</input> > </ns1:initiate> > </SOAP-ENV:Body> > </SOAP-ENV:Envelope> > > > I get the error : > > Message: name={http://sample.bpel.org/bpel/sample}HelloWorldRequestMessage > Part: name=payload > elementName={ > http://sample.bpel.org/bpel/sample}HelloWorldRequest,Operation: nam > e=initiate > style=ONE_WAY,0 > Input: name=null > Message: name={http://sample.bpel.org/bpel/sample}HelloWorldRequestMessage > Part: name=payload > elementName={http://sample.bpel.org/bpel/sample}HelloWorldRequest) > DEBUG - GeronimoLog.debug(66) | ODE routed to operation Operation: > name=initiate > > style=ONE_WAY,0 > Input: name=null > Message: name={http://sample.bpel.org/bpel/sample}HelloWorldRequestMessage > Part: name=payload > elementName={http://sample.bpel.org/bpel/sample}HelloWorldRequest from > service { > http://sample.bpel.org/bpel/sample}MyHelloWorldService > 11:10:05,503 DEBUG [ODEService] ODE routed to operation Operation: > name=initiate > > style=ONE_WAY,0 > Input: name=null > Message: name={http://sample.bpel.org/bpel/sample}HelloWorldRequestMessage > Part: name=payload > elementName={http://sample.bpel.org/bpel/sample}HelloWorldRequest from > service { > http://sample.bpel.org/bpel/sample}MyHelloWorldService > ERROR - GeronimoLog.error(108) | Exception occured while invoking ODE > org.apache.ode.axis2.OdeFault: SOAP body does not contain expected part > wrapper: > service {http://sample.bpel.org/bpel/sample}MyHelloWorldService port > MyHelloWor > ld wrapper initiate; nested exception is: > java.lang.IllegalArgumentException: SOAP body does not contain > expected > part wrapper: service { > http://sample.bpel.org/bpel/sample}MyHelloWorldService po > rt MyHelloWorld wrapper initiate > > How did you solve the issue you faced? > > > Matthieu Riou-2 wrote: > > > > 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. > >> > > > > > Quoted from: > > http://www.nabble.com/ODE-fault---Exception%3A-SOAP-body-does-not-contain-expected-part-wrapper-tf3892043.html#a11034155 > >
