Pessoal,
Estou tentando converter uma classe em XML com o JAXB, mas ta dando o erro:
javax.xml.bind.JAXBException: class br.com.NFe.CabecMsg nor any of its super class is known to this context.
at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:556)
at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:478)
at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:328)
(A classe é a usada para enviar o cabeçalho da Nota Fiscal Eletronica)
[code]package br.com.NFe;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = “”, propOrder = {
“versaoDados”
})
@XmlRootElement(name = “cabecMsg”)
public class CabecMsg {
@XmlElement(required = true)
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
protected String versaoDados;
@XmlAttribute(required = true)
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
protected String versao;
public String getVersaoDados() {
return versaoDados;
}
public void setVersaoDados(String value) {
this.versaoDados = value;
}
public String getVersao() {
return versao;
}
public void setVersao(String value) {
this.versao = value;
}
}
[/code]
E o trecho do codigo para tentar gerar o XML eh:
[code]…
JAXBContext jc = JAXBContext.newInstance(“br.com.NFe”);;
Marshaller m = jc.createMarshaller();
m.setProperty( m.JAXB_ENCODING, “ISO-8859-1” );
m.setProperty( m.JAXB_FORMATTED_OUTPUT, Boolean.TRUE );
String pXmlGerado = “C:\temp\teste.xml”;
FileOutputStream os = new FileOutputStream(pXmlGerado);
m.marshal( pMensagem, os);
os.close();
…[/code]
Alguem já se deparou com esse problema?
Vlw !!