Ich habe Probleme mit der Syntaxanalyse von Apache Camel. Ich habe alle notwendigen Annotationen hinzugefügt, als nächstes habe ich Probleme mit mehreren Wurzelelementen, dann habe ich eine neue Klasse mit List erstellt. Jetzt zeige ich meinen Code unten:XML mit Apache Camel analysieren (null drucken)
Kunden
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public @Data class Customer {
private int id;
private String name;
private String address;
private String countryCode;
@XmlElementWrapper(name="products")
@XmlElement(name="product")
private List<Product> products;
}
Produkt
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public @Data class Product {
private int productId;
private String productName;
}
Kunden (Klasse, weil mehrere Stamm Problem erstellt)
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public @Data class Customers {
@XmlElementWrapper
@XmlElement(name = "customer")
private List<Customer> customers;
@Override
public String toString() {
return "Customers{" +
"customers=" + customers +
'}';
}
}
MyRouteBuilder
public class MyRouteBuilder extends RouteBuilder {
@Override
public void configure() throws Exception {
from("file:/home/tkaczmarek/usr/data/inbox?noop=true")
.bean(XmlToBean.class);
}
}
XmlToBean
public class XmlToBean {
public void transformXmlObject(Customers customers) {
System.out.println(customers);
}
}
XML-Datei
<?xml version="1.0" encoding="UTF-8"?>
<customers>
<customer>
<id>1</id>
<name>Tomasz Kaczmarek</name>
<address>Łódź, ul. Błotna 5/32</address>
<countryCode>1221</countryCode>
<products>
<product>
<productId>1</productId>
<productName>Bread</productName>
</product>
<product>
<productId>2</productId>
<productName>Meat</productName>
</product>
</products>
</customer>
</customers>
Aktuelle Ausgabe
Customers{customers=null}
Wie kann ich meinen Code richtig funktionieren lassen? Ich habe keine Ahnung, wo ein Problem ist.
Haben Sie Kamel-Jaxb auf dem Klassenpfad? Und welche Version von Camel benutzt du? Und können Sie besser erklären, was das Problem ist, ist es ein wenig unklar –
Was meinst du mit mehreren Root-Problem? –