J'ai un WSDL dans lequel je défini un type abstrait :
Ce type abstrait est référencé dans mon WSDL :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <complexType abstract="true" name="TypeAbstrait"> <sequence> <element name="value" nillable="true" type="xsd:string"/> </sequence> </complexType>
Je définie également un type concret qui hérite du type abstrait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <complexType name="Requete"> <sequence> <element name="subtype" nillable="true" type="ns1:TypeAbstrait"/> </sequence> </complexType>
Actuellement, voici un extrait de ma requête SOAP :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <complexType name="TypeConcret"> <complexContent> <extension base="tns1:TypeAbstrait"> </extension> </complexContent> </complexType>
Le problème que je rencontre est que lorsque j'envoie une requête, j'ai une erreur d'unmarshalling car mon framework est incapable d'instancier le type abstrait.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <requete> <subtype> <value></value> </subtype> </requete>
Comment je fais pour construire une enveloppe SOAP qui fasse référence au type concret alors que c'est le type abstrait qui est référencé ?
Partager