Tenho um objeto que quero passar para XML com o JAXB.
O xml correto seria algo como:<?xml version="1.0" encoding="UTF-8" ?>
<CancNFe versao="2.00" xmlns="http://www.portalfiscal.inf.br/nfe">
<infCanc Id="ID35100902767116000186550010000266291010733080" >
<tpAmb>2</tpAmb>
<xServ>CANCELAR</xServ>
<chNFe>35100902767116000186550010000266291010733080</chNFe>
<nProt>784732847384</nProt>
<xJust>CLIENTE CANCELOU O SERVICO/COMPRA</xJust>
</infCanc>
</CancNFe>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:tCancNFe versao="2.00" xmlns:ns2="http://www.w3.org/2000/09/xmldsig#" xmlns="http://www.portalfiscal.inf.br/nfe">
<infCanc Id="ID35100902767116000186550010000266291010733080">
<tpAmb>2</tpAmb>
<xServ>CANCELAR</xServ>
<chNFe>35100902767116000186550010000266291010733080</chNFe>
<nProt>784732847384</nProt>
<xJust>CLIENTE CANCELOU O SERVIÇO/COMPRA</xJust>
</infCanc>
</ns2:tCancNFe>
emissor.bean.nfe.cancelamento.TCancNFe cancObj = new emissor.bean.nfe.cancelamento.TCancNFe();
emissor.bean.nfe.cancelamento.TCancNFe.InfCanc infCanc = new emissor.bean.nfe.cancelamento.TCancNFe.InfCanc();
infCanc.setChNFe(chaveAcesso);
infCanc.setNProt(protocolo);
infCanc.setTpAmb(Global.TIPO_AMBIENTE_NFe);
infCanc.setXServ("CANCELAR");
infCanc.setId("ID" + chaveAcesso);
infCanc.setXJust(justificativa);
cancObj.setInfCanc(infCanc);
cancObj.setVersao(NFe.VERSAO_LEIAUTE_NFE);
JAXBContext context = JAXBContext.newInstance(cancObj.getClass());
Marshaller marshaller = context.createMarshaller();
StringWriter sw = new StringWriter();
marshaller.marshal(cancObj, sw);
String xmlCancelamento = sw.toString();