Ya that is what I have followed, but this this still gives me the error. here is my config...
GelcoCCTransaction.aegis.xml <mappings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xfire.codehaus.org/schemas/1.0/mapping.xsd"> <mapping> <property name="ccItemizationAddendums" componentType="gelco.messaging.v1.creditcard.GelcoCCItemizationAddendum"/> <property name="actionCode" minOccurs="1" nillable="false"/> <property name="transactionId" minOccurs="1" nillable="false"/> </mapping> </mappings> Class Hierarchy for property -> ccItemizationAddendums GelcoCCItemizationAddendum <ABSTRACT CLASS) GelcoLodgingCCItemizationAddendum EXTENDS GelcoCCItemizationAddendum GelcoTravelCCItemizationAddendum EXTENDS GelcoCCItemizationAddendum The GelcoCCTransaction can contain ccItemizationAddendums of the above 2 types. Is there something special I need to config in order for XFire to recognize the subclasses? I already have the setting in services.xml: <property key="writeXsiType">true</property> <property key="overrideTypesList"> <list xmlns=""> <value>gelco.messaging.v1.creditcard.GelcoLodgingCCAddendum</value> <value>gelco.messaging.v1.creditcard.GelcoRentalCCAddendum</value> <value>gelco.messaging.v1.creditcard.GelcoTravelCCAddendum</value> <value>gelco.messaging.v1.creditcard.GelcoLodgingCCItemizationAddendum</value> <value>gelco.messaging.v1.creditcard.GelcoRentalCCItemizationAddendum</value> <value>gelco.messaging.v1.creditcard.GelcoTravelCCItemizationAddendum</value> </list> </property> XFire doesn't appear to recognize the fact that the ccItemizationAddendums really is a concrete implementation class e.g. GelcoLodgingCCItemizationAddendum. The WSDL seems to be generated correctly, but,when I test the service via the client tester it gives me the following XFire error: org.codehaus.xfire.XFireRuntimeException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: Couldn't instantiate class. null org.codehaus.xfire.fault.XFireFault: Couldn't instantiate class. null at org.codehaus.xfire.fault.Soap11FaultSerializer.readMessage (Soap11FaultSerializer.java:31) at org.codehaus.xfire.fault.SoapFaultSerializer.readMessage (SoapFaultSerializer.java:28) at org.codehaus.xfire.soap.handler.ReadHeadersHandler.checkForFault (ReadHeadersHandler.java:111) at . . . . --------------------------------------------------------------------- To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email "Tomek Sztelak" <[EMAIL PROTECTED]> 04/19/2007 02:30 AM Please respond to dev@xfire.codehaus.org To dev@xfire.codehaus.org cc Subject Re: [xfire-dev] service method with an abstract class as parameter? Try http://xfire.codehaus.org/Aegis+Inheritance On 4/18/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: I'm using the XFire API .. here is the client code I use public class ServiceHelper { public static String SRVC_URL = " http://localhost:7001/webservices/services/CreditCardService "; public ServiceHelper() { super(); } public static ICreditCardService retrieveCreditCardService(){ Service srvcModel = new ObjectServiceFactory().create(ICreditCardService.class); XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire()); ICreditCardService srvc = null; try { srvc = (ICreditCardService)factory.create(srvcModel, ServiceHelper.SRVC_URL); } catch (MalformedURLException e) { throw new RuntimeException(e); } return srvc; } } Matt Solnit <[EMAIL PROTECTED]> 04/18/2007 04:13 PM Please respond to dev@xfire.codehaus.org To <dev@xfire.codehaus.org> cc Subject Re: [xfire-dev] service method with an abstract class as parameter? Bob, What kind of client are you using? Is it .NET, Apache Axis, XFire, hand-made, etc.? -- Matt From: <[EMAIL PROTECTED]> Reply-To: <dev@xfire.codehaus.org> Date: Wed, 18 Apr 2007 15:45:52 -0500 To: <dev@xfire.codehaus.org> Subject: Re: [xfire-dev] service method with an abstract class as parameter? I've been told that I may need to include the xsi:type attribute in my SOAP. How would I go about doing this? -- ----- When one of our products stops working, we'll blame another vendor within 24 hours.