Jaxb2Marshaller.unmarshal

Eu tenho um esquema xsd, e foi utilizado Jaxb2 para gerar as classes do esquema…
Tenho também um form.xml preenchido com dados de acordo com o esquema xsd…

Como utilizo o Jaxb2Marshaller para fazer o unmarshall do meu xml e popular novas instâncias das classes do esquema?

Agradeço orientações a respeito, ou uma referência que ensine exatamente como fazer… não deve ser muito mais complicado do que a minha tentativa de implementação (eu espero)…

Tentei o abaixo, mas está dando NullPointerException… o array de bytes não é nulo, o conteúdo é válido (eu gravei em um arquivo em disco usando FileOutputStream e o arquivo foi restaurado corretamente), o marshaller também não fica nulo… o erro ocorre na linha comentada.

[code] private Object unmarshallJaxb2XML(byte[] xmlBytes) throws Exception {
Source xmlSource = XMLUtils.getXmlSource(xmlBytes); // OK

	Jaxb2Marshaller marshaller = new Jaxb2Marshaller(); // OK (não retorna nulo)
	Object objectGraph = marshaller.unmarshal(xmlSource); // ERRO: java.lang.NullPointerException
	return objectGraph;
}

private Source getXmlSource(byte[] xmlBytes) {
	ByteArrayInputStream bytesIn = new ByteArrayInputStream(xmlBytes);
	StreamSource streamSource = new StreamSource(bytesIn);
	return streamSource;
}[/code]

Obrigado! :wink: