У меня есть классы Java, полученные из XSD с помощью инструмента XJC. Unmarshaling отлично работает с настройками по умолчанию. Однако я переключился на реализацию парсера SAX (из SAXSource здесь: http://docs.oracle.com/javase/6/docs/api/index.html?javax/xml/bind/JAXBContext.html), и теперь unnmarshalling, конечно, 2 раз быстрее, но XML-атрибуты не демаршалируются. Это означает, что атрибут, который определен как
@XmlAttribute(required=true)
@XmlSchemaType(name = "anySimpleType")
protected String messageId;
установлено значение null
. В XML у меня есть
<Message messageId="123">
...
</Message>
Все остальное разбирается должным образом. У меня есть эта проблема со всеми объектами, которые используют атрибуты.
У меня есть реализация Apache Xerces парсера SAX.