You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Klas Skogmar <kl...@exallon.sigma.se> on 2003/10/09 12:29:24 UTC
JavaBean Exception
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
org.apache.axis.encoding.TypeMappingImpl@33c78b
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace: java.io.IOException: No
serializer found for class webservices.Result in registry
org.apache.axis.encoding.TypeMappingImpl@33c78b
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 org.apache.axis.encoding.TypeMappingImpl@33c78b
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
org.apache.axis.encoding.TypeMappingImpl@33c78b
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>