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>