J'ai un WSDL dans lequel je défini un type abstrait :
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>
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 name="Requete">
    <sequence>
        <element name="subtype" nillable="true" type="ns1:TypeAbstrait"/>
    </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
7
 
<complexType name="TypeConcret">
    <complexContent>
        <extension base="tns1:TypeAbstrait">
        </extension>
    </complexContent>
</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
 
<requete>
    <subtype>
        <value></value>
    </subtype>
</requete>
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.

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é ?