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.
