Bonjour,
j'ai un xsd en héritage mais je n'arrive pas à récupérer mes données avec jaxb ( unmarshalling).
mon xsd :
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 .
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>
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
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.
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"); }
Merci d'avance
Partager