Do you define a Serializer in your deploy.wsdd file for all your classes, or just the abstract class? I'm not sure if this will fix your problem, but I believe that Axis will only serialize the classes that are specified in the wsdd file. The only thing I'm not sure of is if Axis will match the class being returned to the correct serializer based on the type specified by the return or by the actual type. You will find out for sure if you have serializers defined for all the concrete class types.
Jim Stickley Birch Telecom (816) 300-6743 [EMAIL PROTECTED] -----Original Message----- From: Dunn, Scott [mailto:[EMAIL PROTECTED]] Sent: Thursday, July 11, 2002 2:10 PM To: [EMAIL PROTECTED] Subject: Serialization of return values and inheritance hierarchies I have a very granular interface which defines a small number of operations (5) on a large number of entities ( > 100). Rather than having an interface that defines more than 500 methods I have all the entities extend a base class and define the interface in terms of the base class. By ensuring that all the required type mappings exist in the deployment descriptor this works fine for the request portion of the message. i.e. Axis correctly figures out how to deserialize the parameters that are passed in the SOAP message even though the operation is defined in terms of the base class. However, the return value does not work in the same fashion. Axis does not pay any attention to the actual class of the return value and instead uses the operation definition only, which results in all the properties being lost. Should this be the case? Is it not reasonable to expect that Axis would serialize the object according to its actual class? Thanks, Scott.