Hi All I've posted this message on the user mailing list, but unfortunately did not get any replies. I realize that the problem is not strictly related to the Axis development, although it does touch on how Axis handles a certain scenario / the behaviour that I'm experiencing. So please bear with me, and rest assured that your help would be greatly appreciated.
On to the problem: I'm using Axis 1.3 to generate my client stubs etc. The problem that I'm experiencing is as follows: The web service that I'm connecting to has a abstract complex type (let's say: Favorite) defined as part of an argument for a call (let's say: favoritesAdd). The Favorite abstract type has additional implementing types defined, eg. FavoriteSimpleTracking, FavoriteAdvancedTracking etc. These implementing complex types have additional properties that can be set. When making a call to favoritesAdd, Axis only populates the properties defined by the Favorite interface and not the additional properties defined by an implementing class. My thoughts are: 1. Since the WSDL defines Favorite as the call's argument Axis quite rightly ignores the additional properties set by an implementing class. Can somebody please confirm this? 2. Alternatively, should Axis be "clever" enough to realize that I'm passing it an object type that contains additional properties and that they need to be set in the SOAP request as well? 3. If not, and if it is even legal to do something like this in a web service, how can I tell Axis to do this? Below the relevant WSDL snippets: (Looking at the snippets below, you'll notice that the Favorite object get's passed to a FavoriteAddRequestDO for the call - I did not want to expand on this too much above in order to keep the explanation simple...) <operation name="favoritesAdd"> <input message="tns:favoritesAdd" /> <output message="tns:favoritesAddResponse" /> </operation> <message name="favoritesAdd"> <part xmlns:partns="http://www.maerskline.com/eTrack30/2006/03/22/TrackingRegisteredService" name="wsrequest" element="partns:favoritesAdd" /> </message> <xsd:element xmlns:tp="java:com.maerskline.etrack.service.type.request" type="tp:FavoritesAddRequestDO" name="favoritesAdd" nillable="true" /> <xsd:complexType name="FavoritesAddRequestDO"> <xsd:sequence> <xsd:element xmlns:tp="java:com.maerskline.etrack.service.type" type="tp:Favorite" name="favorite" minOccurs="1" maxOccurs="1" nillable="true" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="Favorite" abstract="true"> <xsd:sequence> <xsd:element type="xsd:string" name="SCACCode" minOccurs="1" maxOccurs="1" nillable="true" /> <xsd:element type="xsd:string" name="certificateId" minOccurs="1" maxOccurs="1" nillable="true" /> <xsd:element type="xsd:string" name="customerId" minOccurs="1" maxOccurs="1" nillable="true" /> <xsd:element type="xsd:string" name="description" minOccurs="1" maxOccurs="1" nillable="true" /> <xsd:element type="xsd:integer" name="favoriteId" minOccurs="1" maxOccurs="1" nillable="true" /> <xsd:element type="xsd:dateTime" name="lastUsed" minOccurs="1" maxOccurs="1" nillable="true" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="FavoriteSimpleTracking"> <xsd:complexContent> <xsd:extension base="stns:Favorite"> <xsd:sequence> <xsd:element type="stns:ArrayOfFavoriteSimpleTrackingCriterion" name="criteria" minOccurs="1" maxOccurs="1" nillable="true" /> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> Many thanks! Fouche Du Preez Developer Information Technology Safmarine Computer Services (Pty) Ltd. Tel: +27 21 4463040 Fax: +27 21 4463162 Email: [EMAIL PROTECTED] Web: http://www.scs.co.za The information in this e-mail is confidential and is intended solely for the adressee(s). Access to this email by anyone else is unauthorized. If you are not an intended recipient, please notify the sender of this email immediately. You may not print, save or otherwise store the e-mail or any of the contents thereof in electronic or physical form, nor copy, use or disseminate the information contained in the email. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
