I have downloaded the source code and figured out that, for some reason, the
"StatusType" and "ErrorCodeType" classes are registered with a different
instance of the TypeMappingImpl. This completely explains why the
BeanSerializer for the "Confirmation" class can't find the other classes.
The "Confirmation" class contains the "StatusType" and "ErrorCodeType"
classes as properties, but the type mapping does not end up in the same
instance as each other. Is this a namespace issue? I am now hot on the trail
of figuring whether it is or not. Stay tuned....Can someone from axis-dev
answer this question?

Thanks,
Ozzie Gurkan

-----Original Message-----
From: Gurkan, Ozzie (MAN-Corporate) 
Sent: Wednesday, March 19, 2003 9:11 AM
To: '[EMAIL PROTECTED]'
Subject: No serializer found for class...


I had my serializer/deserializer setup working for a while, and now, all of
a sudden, it is not working anymore. Can anyone tell me what I am doing
wrong? Is there a tricky classloading issue with loading custom factories?

Here is the exception:

java.io.IOException: No serializer found for class
com.manheim.service.common.schema.types.StatusType in registry
[EMAIL PROTECTED]
at
org.apache.axis.encoding.SerializationContextImpl.serializeActual(Serializat
ionContextImpl.java:1254)
at
org.apache.axis.encoding.SerializationContextImpl.serialize(SerializationCon
textImpl.java:775)
at
org.apache.axis.encoding.ser.BeanSerializer.serialize(BeanSerializer.java:21
3)
at
org.apache.axis.encoding.SerializationContextImpl.serializeActual(Serializat
ionContextImpl.java:1228)
at
org.apache.axis.encoding.SerializationContextImpl.serialize(SerializationCon
textImpl.java:775)
at
org.apache.axis.encoding.ser.BeanSerializer.serialize(BeanSerializer.java:21
3)
at
org.apache.axis.encoding.SerializationContextImpl.serializeActual(Serializat
ionContextImpl.java:1228)
at
org.apache.axis.encoding.SerializationContextImpl.serialize(SerializationCon
textImpl.java:775)
at org.apache.axis.message.RPCParam.serialize(RPCParam.java:225)
at org.apache.axis.message.RPCElement.outputImpl(RPCElement.java:371)
at org.apache.axis.message.MessageElement.output(MessageElement.java:760)
at org.apache.axis.message.SOAPBody.outputImpl(SOAPBody.java:150)
at org.apache.axis.message.SOAPEnvelope.outputImpl(SOAPEnvelope.java:413)
at org.apache.axis.message.MessageElement.output(MessageElement.java:760)
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:883)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:
339)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

Here is my deploy.wsdd:

<!-- This file can be used to deploy the echoAttachments sample -->
<!-- using this command: java org.apache.axis.client.AdminClient
attachdeploy.wsdd -->

<!-- This deploys the echo attachment service.  -->
<deployment 
        xmlns="http://xml.apache.org/axis/wsdd/"; 
        xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"; 
        xmlns:service="http://portal.manheim.com/service/2002/1";
        xmlns:listing="http://portal.manheim.com/listing-service/2002/12"; 
        xmlns:common="http://portal.manheim.com/service/common";
        >
        <service name="Services" provider="java:RPC" style="wrapped"
use="literal">
                <parameter name="scope" value="session" />
                <parameter name="className"
value="com.manheim.gateway.axis.dispatcher.ServiceDispatcher"/>
                <parameter name="allowedMethods" value="*"/>
                <wsdlFile>/data/config/services.wsdl</wsdlFile>

                <!-- common -->
                <beanMapping
languageSpecificType="java:com.manheim.service.ServiceEvent"
qname="service:serviceEvent"/>
                <beanMapping
languageSpecificType="java:com.manheim.service.Client"
qname="service:client"/>
                <beanMapping
languageSpecificType="java:com.manheim.service.Option"
qname="service:option"/>
                <beanMapping
languageSpecificType="java:com.manheim.service.common.schema.Errors"
qname="service:errors"/>
                <beanMapping
languageSpecificType="java:com.manheim.service.common.schema.ErrorSource"
qname="service:errorSource"/>
                <typeMapping
languageSpecificType="java:com.manheim.service.common.schema.types.StatusTyp
e" qname="common:status"
serializer="org.apache.axis.encoding.ser.castor.CastorEnumTypeSerializerFact
ory"
deserializer="org.apache.axis.encoding.ser.castor.CastorEnumTypeDeserializer
Factory" />
                <typeMapping
languageSpecificType="java:com.manheim.service.common.schema.types.ErrorCode
Type" qname="common:errorCode"
serializer="org.apache.axis.encoding.ser.castor.CastorEnumTypeSerializerFact
ory"
deserializer="org.apache.axis.encoding.ser.castor.CastorEnumTypeDeserializer
Factory" />
                
        </service>
        
</deployment>

Thanks for your help.

-Ozzie Gurkan

Reply via email to