Я столкнулся с проблемой при размаршалинге JAXB. Мне кажется, что я правильно его закодировал, но мой объект без маршалинга возвращается с нулевыми параметрами. Следовательно, я предполагаю, что при разгруппировке JAXB не видит соответствующей XML-структуры, которую он ожидает. Однако я не получаю никаких сообщений об ошибках или каких-либо исключений.
Можно ли как-то проследить процесс разгруппировки, чтобы увидеть, где именно/почему он не заполняет мой объект(ы)?
Сам код разгруппировки довольно прост:
public <T> T unmarshall(Node node, Class<T> clazz) throws JAXBException {
// Creating an unmarshaller
Unmarshaller u = JAXBContext.newInstance(clazz).createUnmarshaller();
// unmarshal an instance node into Java content
return clazz.cast(u.unmarshal(node, clazz).getValue());
}
Однако, когда я вызываю его, мне возвращается объект типа clazz (как и ожидалось), но не заполненный.
Объект DOM, который я пытаюсь размаршалить, генерируется сторонним API. Я уже столкнулся с крайне странным поведением при разгруппировке, поэтому я хотел бы иметь возможность отладить этот процесс. Например, если я пытаюсь разгруппировать подэлемент внутри объекта DOM (т.е.: doc.getByElementName("myElement").item(0)), это не удается. Однако, если я конвертирую документ в строку и повторно импортирую его в новый документ, то он преобразует его нормально.
Я начинаю расстраиваться, не зная, как отладить эту проблему.
Спасибо за любую информацию!
Eric