Тег <Data>
заставляет JAXB думать, что <header>
содержится в объекте с именем Data
. Вы хотите переместить содержимое AuthentifyResult
в новый класс, а затем класс AuthentifyResult
содержит этот новый класс с именем элемента Data
.
@XmlRootElement(name="AuthentXML")
public class AuthentifyResult {
private Data data;
@XmlElement(name="Data")
public Data getData() {
return data;
}
public void setData(Data data) {
this.data = data;
}
}
public class Data {
private Header header;
public Header getHeader() {
return header;
}
public void setHeader(Header header) {
this.header = header;
}
}
Что касается класса заголовка, вы хотите заменить аннотации @XmlAttribute
на @XmlElement
. @XmlAttribute
означает, что вы хотите, чтобы ваш XML выглядел как
<header teid="A Value"></header
Принимая во внимание, что @XmlElement
означает, что вы хотите, чтобы ваш XML выглядел как
<header>
<teid>A Value</teid>
</header>