JAXB avec héritage avec un xsd
Bonjour,
j'ai un xsd en héritage mais je n'arrive pas à récupérer mes données avec jaxb ( unmarshalling).
mon xsd :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| <?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/XsdMath2"
xmlns:tns="http://www.example.org/XsdMath2"
elementFormDefault="qualified">
<complexType name="Utilisateur">
<complexContent>
<extension base="tns:TraitementDTO">
<sequence>
<element name="nomUtilisateur" type="string"></element>
<element name="passUtilisateur" type="string"></element>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="TraitementDTO">
<sequence>
<element name="CodeTraitement" type="int"></element>
</sequence>
</complexType>
<element name="Create" type="tns:TraitementDTO"></element>
</schema> |
Le probléme c'est que mon element "Create" n'a pas de classe généré, je sais pas si cela poserai un probléme dans la conception de ce xsd .
mon xml valide:
Code:
1 2 3 4 5 6 7 8 9
| <Create xmlns="http://www.example.org/XsdMath2">
<TraitementDTO>
<CodeTraitement>0</CodeTraitement>
<Utilisateur>
<nomUtilisateur>nomok</nomUtilisateur>
<passUtilisateur>passok</passUtilisateur>
</Utilisateur>
</TraitementDTO>
</Create> |
Ensuite j'utilise ce code java pour unmarshalliser mon code mais le probléme est que je peux pas caster mon résultat ni l'instancier
Code:
1 2 3 4 5 6 7 8 9 10 11
| StringReader sr = new StringReader(this.message);
JAXBContext context = JAXBContext.newInstance("ActionMathML");
Unmarshaller decodeur = context.createUnmarshaller();
msgObject = decodeur.unmarshal(sr);
System.out.println(" action" + msgObject);
if (msgObject instanceof TraitementDTO)
{
System.out.println(" action");
} |
Du coup je suis bloqué , est ce que quelqu'un pourrait me donner une piste pour avancer. Cra malheureusement je ne trouve rien qui pourrai m'aider.
Merci d'avance