Bonjour a tous,
J'essaye de unmarshaller du xml avec jaxb dans talend ESB.
Quand je builde la route dans Talend-RUNTIME j'ai l'erreur suivante :
Beans.test do not contain ObjectFactory.class or jaxb.inde.
Pour se faire j'utilise le composant cJavaDSLProcessor avec le code suivant :
Dans mon bean test j'ai deux classe java.
Code : Sélectionner tout - Visualiser dans une fenêtre à part .unmarshal().jaxb("beans.test")
ObjectFactory :
Et Test :
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 import javax.xml.bind.JAXBElement; import javax.xml.bind.annotation.XmlElementDecl; import javax.xml.bind.annotation.XmlRegistry; import javax.xml.namespace.QName; @XmlRegistry public class ObjectFactory { private final static QName _Test_QNAME = new QName("", "test"); public ObjectFactory() { } public Test createTest() { return new Test(); } @XmlElementDecl(namespace = "", name = "test") public JAXBElement<Test> createTest(Test value) { return new JAXBElement<Test>(_Test_QNAME, Test.class, null, value); } }
Je n'arrive pas a résoudre cette erreur je viens donc vous demandé de l'aide
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
28
29
30
31
32
33 import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlType; @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "test", propOrder = { "nom", "numCommande"}) public class Test { @XmlElement(required = true) protected String nom; @XmlElement(required = true) protected String numCommande; public String getNom() { return nom; } public void setNom(String value) { this.nom = value; } public String getNumCommande() { return numCommande; } public void setNumCommande(String value) { this.numCommande = value; } }.
Cdt,
Takago.
Partager