Hi list, I use a webservice method that needs a collection of a certain type. This type is an abstract class of which 2 implementations exist. If I call this method and pass in an arraycollection with 2 instances (one for each implementation), it occurs that the SOAP request being created ignores the fact that it concerns a subclass. In other words the only thing included in the webservice request are the fields from the abstract class, and none of the fields of the subclass. There is nothing wrong with the wsdl because when I test the same thing with a java client, everything works perfectly (!)
Here's an extract of the wsdl: ... <xsd:element name="getSongsForContext"> <xsd:complexType> <xsd:sequence> ... <xsd:element maxOccurs="unbounded" minOccurs="0" name="changeableParameter" type="tun:ChangeableParameter"/> ... </xsd:sequence> </xsd:complexType> </xsd:element> ... <xsd:complexType name="ChangeableIntervalParameter"> <xsd:complexContent> <xsd:extension base="tun:ChangeableParameter"> <xsd:sequence> <xsd:element maxOccurs="1" minOccurs="1" name="minimum" type="xsd:float"/> <xsd:element maxOccurs="1" minOccurs="1" name="maximum" type="xsd:float"/> <xsd:element maxOccurs="1" minOccurs="0" name="step" type="xsd:float"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="ChangeableSelectionParameter"> <xsd:complexContent> <xsd:extension base="tun:ChangeableParameter"> <xsd:sequence> <xsd:element maxOccurs="unbounded" minOccurs="1" name="value" type="tun:Value"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> ...