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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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