Hello, Given the attached wsdl (and related classes generated by cxf-codegen-plugin, cxf 2.2.1), the following stacktrace is obtained:
[INFO] INFO: Application has thrown exception, unwinding now [INFO] org.apache.cxf.interceptor.Fault: null while invoking public abstract java.lang.String fr.inria.galaxy.j1.scenario1.ISummaryService.createSummary(java.lang.String,java.lang.String,java.lang.String,double,java.lang.String,java.lang.String) with params [null, null, null, null, null, null]. [INFO] at org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:152) [INFO] at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:126) [INFO] at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:68) [INFO] at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:57) [INFO] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417) [INFO] at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) [INFO] at java.util.concurrent.FutureTask.run(FutureTask.java:123) [INFO] at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37) [INFO] at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:95) [INFO] at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236) [INFO] at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:89) [INFO] at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:302) [INFO] at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:265) [INFO] at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70) [INFO] at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) [INFO] at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) [INFO] at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) [INFO] at org.mortbay.jetty.Server.handle(Server.java:324) [INFO] at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535) [INFO] at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:880) [INFO] at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747) [INFO] at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) [INFO] at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) [INFO] at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) [INFO] at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520) [INFO] Caused by: java.lang.IllegalArgumentException [INFO] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [INFO] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [INFO] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [INFO] at java.lang.reflect.Method.invoke(Method.java:585) [INFO] at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:166) [INFO] at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:82) [INFO] ... 23 more Activating log interceptors, we see that the soap message body is empty: [INFO] INFO: Outbound Message [INFO] --------------------------- [INFO] ID: 4 [INFO] Address: http://localhost:8080/CreateSummary [INFO] Encoding: UTF-8 [INFO] Content-Type: text/xml [INFO] Headers: {SOAPAction=[""], Accept=[*/*]} [INFO] Payload: <soap:Envelope xmlns:soap=" http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><createSummary xmlns=" http://scenario1.j1.galaxy.inria.fr/"/></soap:Body></soap:Envelope> Thanks a lot for all the help, Valerio -- http://www.linkedin.com/in/vschiavoni http://jroller.com/vschiavoni
<?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions name="ISummaryService" targetNamespace="http://scenario1.j1.galaxy.inria.fr/" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://scenario1.j1.galaxy.inria.fr/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <wsdl:types> <xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://scenario1.j1.galaxy.inria.fr/" xmlns:tns="http://scenario1.j1.galaxy.inria.fr/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="createSummary" type="tns:createSummary"/> <xsd:complexType name="createSummary"> <xsd:sequence> <xsd:element minOccurs="0" name="arg0" nillable="true" type="xsd:string"/> <xsd:element minOccurs="0" name="arg1" nillable="true" type="xsd:string"/> <xsd:element minOccurs="0" name="arg2" nillable="true" type="xsd:string"/> <xsd:element name="arg3" type="xsd:double"/> <xsd:element minOccurs="0" name="arg4" nillable="true" type="xsd:string"/> <xsd:element minOccurs="0" name="arg5" nillable="true" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="createSummaryResponse" type="tns:createSummaryResponse"/> <xsd:complexType name="createSummaryResponse"> <xsd:sequence> <xsd:element minOccurs="0" name="return" nillable="true" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:schema> </wsdl:types> <wsdl:message name="createSummaryResponse"> <wsdl:part element="tns:createSummaryResponse" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="createSummary"> <wsdl:part element="tns:createSummary" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:portType name="ISummaryServicePortType"> <wsdl:operation name="createSummary"> <wsdl:input message="tns:createSummary" name="createSummary"> </wsdl:input> <wsdl:output message="tns:createSummaryResponse" name="createSummaryResponse"> </wsdl:output> </wsdl:operation> </wsdl:portType> <wsdl:binding name="ISummaryServiceSoapBinding" type="tns:ISummaryServicePortType"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="createSummary"> <soap:operation soapAction="" style="document"/> <wsdl:input name="createSummary"> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="createSummaryResponse"> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="ISummaryService"> <wsdl:port binding="tns:ISummaryServiceSoapBinding" name="ISummaryServicePort"> <soap:address location="http://localhost:8080/CreateSummary"/> </wsdl:port> </wsdl:service> </wsdl:definitions>
