Я пытаюсь развязать XML-документ, созданный из аннотированного класса jersey JAXB.JAXB unmarshalling не работает для сложного объекта, содержащего коллекцию
JAXBContext jaxbCtx = JAXBContext.newInstance(MyClass.class);
Unmarshaller m = jaxbCtx.createUnmarshaller();
MyClass result = (MyClass) m.unmarshal(in)
MyClass выглядит что-то вроде:
@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;
}
Образец XML, как показано ниже:
<my-class uri="some uri">
<error></error>
<result>
<some other information in tags>
</result>
...
<result>
</result>
</my-class>
Объект возвращаемый JAXB unmarshaler содержит все значения как нуль; Может ли кто-нибудь помочь здесь? Thanks Nayn
Можете ли вы удалить это из браузера, чтобы узнать, что XML идет от вашего ресурса? Или вы уже подтвердили, что данные, поступающие в unmarshaller, хороши. – rynmrtn
Да. Это хорошо. Я проверял. – Nayn