Hi, I tried to connect to an axis service through a client made in JWSDP. The service uses a JavaBean class both as a return value. It did not work, and it seems the Exception is on the server side. The output of the logs gives an error message. Is this a problem with axis, or have I done something wrong? (The same web service work fine if deployed using JWSDP 1.2)
The error message is as follows(WSDD and WSDL are listed below the error message): - Servlet.service() for servlet AxisServlet threw exception AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode: faultString: java.io.IOException: No serializer found for class webservices.Result in registry [EMAIL PROTECTED] faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}stackTrace: java.io.IOException: No serializer found for class webservices.Result in registry [EMAIL PROTECTED] at org.apache.axis.encoding.SerializationContextImpl.serializeActual(Serializat ionContextImpl.java:1281) at org.apache.axis.encoding.SerializationContextImpl.serialize(SerializationCon textImpl.java:795) at org.apache.axis.encoding.SerializationContextImpl.outputMultiRefs(Serializat ionContextImpl.java:866) at org.apache.axis.message.SOAPBody.outputImpl(SOAPBody.java:179) at org.apache.axis.message.SOAPEnvelope.outputImpl(SOAPEnvelope.java:509) at org.apache.axis.message.MessageElement.output(MessageElement.java:783) at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:270) at org.apache.axis.SOAPPart.getAsString(SOAPPart.java:483) at org.apache.axis.SOAPPart.getAsBytes(SOAPPart.java:375) at org.apache.axis.Message.getContentType(Message.java:399) at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:887) at javax.servlet.http.HttpServlet.service(HttpServlet.java:763) at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java: 339) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:288) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:263) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:151) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:562) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1018) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va:196) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:151) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:562) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1018) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2748) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:186 ) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:151) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve. java:171) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:149) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172 ) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:149) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:562) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1018) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java :163) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:151) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:512) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:149) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:562) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1018) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:199) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:637) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne ction(Http11Protocol.java:463) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:568) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav a:631) at java.lang.Thread.run(Thread.java:534) java.io.IOException: No serializer found for class webservices.Result in registry [EMAIL PROTECTED] at org.apache.axis.AxisFault.makeFault(AxisFault.java:129) at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:272) at org.apache.axis.SOAPPart.getAsString(SOAPPart.java:483) at org.apache.axis.SOAPPart.getAsBytes(SOAPPart.java:375) at org.apache.axis.Message.getContentType(Message.java:399) at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:887) at javax.servlet.http.HttpServlet.service(HttpServlet.java:763) at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java: 339) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:288) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:263) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:151) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:562) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1018) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va:196) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:151) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:562) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1018) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2748) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:186 ) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:151) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve. java:171) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:149) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172 ) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:149) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:562) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1018) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java :163) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:151) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:512) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:149) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:562) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1018) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:199) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:637) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne ction(Http11Protocol.java:463) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:568) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav a:631) at java.lang.Thread.run(Thread.java:534) Caused by: java.io.IOException: No serializer found for class webservices.Result in registry [EMAIL PROTECTED] at org.apache.axis.encoding.SerializationContextImpl.serializeActual(Serializat ionContextImpl.java:1281) at org.apache.axis.encoding.SerializationContextImpl.serialize(SerializationCon textImpl.java:795) at org.apache.axis.encoding.SerializationContextImpl.outputMultiRefs(Serializat ionContextImpl.java:866) at org.apache.axis.message.SOAPBody.outputImpl(SOAPBody.java:179) at org.apache.axis.message.SOAPEnvelope.outputImpl(SOAPEnvelope.java:509) at org.apache.axis.message.MessageElement.output(MessageElement.java:783) at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:270) ... 38 more The WSDD looks like this: <deployment name="test" xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <service name="urn:test" provider="java:RPC"> <parameter name="className" value="webservices.InfoManager_v2" /> <parameter name="allowedMethods" value="*" /> </service> </deployment> And the WSDL looks like this: <?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions targetNamespace="http://localhost:8080/axis/services/urn:test" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost:8080/axis/services/urn:test" xmlns:intf="http://localhost:8080/axis/services/urn:test" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="http://webservices" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><wsdl:types><schema targetNamespace="http://webservices" xmlns="http://www.w3.org/2001/XMLSchema"><import namespace="http://schemas.xmlsoap.org/soap/encoding/"/><complexType name="Result"><sequence><element name="date" nillable="true" type="xsd:dateTime"/><element name="error" type="xsd:int"/></sequence></complexType></schema></wsdl:types> <wsdl:message name="testObjectRequest"> <wsdl:part name="in0" type="tns1:Result"/> </wsdl:message> <wsdl:message name="testObjectResponse"> </wsdl:message> <wsdl:message name="getInfoRequest"> </wsdl:message> <wsdl:message name="performResponse"> </wsdl:message> <wsdl:message name="getInfoResponse"> <wsdl:part name="getInfoReturn" type="xsd:string"/> </wsdl:message> <wsdl:message name="getObjectResponse"> <wsdl:part name="getObjectReturn" type="tns1:Result"/> </wsdl:message> <wsdl:message name="getObjectRequest"> </wsdl:message> <wsdl:message name="performRequest"> </wsdl:message> <wsdl:portType name="InfoManager_v2"> <wsdl:operation name="perform"> <wsdl:input message="impl:performRequest" name="performRequest"/> <wsdl:output message="impl:performResponse" name="performResponse"/> </wsdl:operation> <wsdl:operation name="getObject"> <wsdl:input message="impl:getObjectRequest" name="getObjectRequest"/> <wsdl:output message="impl:getObjectResponse" name="getObjectResponse"/> </wsdl:operation> <wsdl:operation name="getInfo"> <wsdl:input message="impl:getInfoRequest" name="getInfoRequest"/> <wsdl:output message="impl:getInfoResponse" name="getInfoResponse"/> </wsdl:operation> <wsdl:operation name="testObject" parameterOrder="in0"> <wsdl:input message="impl:testObjectRequest" name="testObjectRequest"/> <wsdl:output message="impl:testObjectResponse" name="testObjectResponse"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="urn:testSoapBinding" type="impl:InfoManager_v2"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="perform"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="performRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://webservices" use="encoded"/> </wsdl:input> <wsdl:output name="performResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/axis/services/urn:test" use="encoded"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="getObject"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="getObjectRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://webservices" use="encoded"/> </wsdl:input> <wsdl:output name="getObjectResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/axis/services/urn:test" use="encoded"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="getInfo"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="getInfoRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://webservices" use="encoded"/> </wsdl:input> <wsdl:output name="getInfoResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/axis/services/urn:test" use="encoded"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="testObject"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="testObjectRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://webservices" use="encoded"/> </wsdl:input> <wsdl:output name="testObjectResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/axis/services/urn:test" use="encoded"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="InfoManager_v2Service"> <wsdl:port binding="impl:urn:testSoapBinding" name="urn:test"> <wsdlsoap:address location="http://localhost:8080/axis/services/urn:test"/> </wsdl:port> </wsdl:service> </wsdl:definitions>