J'essaye de démonter un document XML créé à partir de la classe JAXB annotée jersey.JAXB unmarshalling ne fonctionne pas pour les objets complexes contenant la collection
JAXBContext jaxbCtx = JAXBContext.newInstance(MyClass.class);
Unmarshaller m = jaxbCtx.createUnmarshaller();
MyClass result = (MyClass) m.unmarshal(in)
MyClass ressemble à quelque chose comme:
@XmlRootElement(name = "my-class")
@XmlSeeAlso(SomeOther.class)
public class MyClass {
private Collection<SomeOther> result;
private URI uri;
private String errorMsg;
@XmlElement
public String getError() {
return errorMsg;
}
@XmlElement
public Collection<SomeOther> getResult() {
return // some Set<SomeOther>;
}
@XmlAttribute
public URI getUri() {
return uri;
}
Le XML exemple est comme ci-dessous:
<my-class uri="some uri">
<error></error>
<result>
<some other information in tags>
</result>
...
<result>
</result>
</my-class>
L'objet retourné par JAXB unmarshaler contient toutes les valeurs comme nulles; Quelqu'un pourrait-il aider ici? Merci Nayn
Pouvez-vous cliquer sur ce bouton depuis le navigateur pour voir ce que le XML provient de votre ressource? Ou avez-vous déjà vérifié que les données arrivant dans le unmarshaller sont bonnes. – rynmrtn
Oui. C'est bon. J'ai vérifié. – Nayn