[Dica] NFe UnmarshalException
13/janeiro/2015 - Java
Olá,
Caso esteja recebendo uma exception parecida com a mostrada abaixo…
javax.xml.bind.UnmarshalException: unexpected element (uri:"http://www.portalfiscal.inf.br/nfe", local:"inutNFe"). Expected elements are <{http://www.w3.org/2000/09/xmldsig#}Signature>
… tente fazer o seguinte. Coloque essas anotações na ordem informando o namespace.
@XmlRootElement(name="inutNFe", namespace="http://www.portalfiscal.inf.br/nfe") @XmlType(name = "TInutNFe", namespace = "http://www.portalfiscal.inf.br/nfe", propOrder = {"infInut", "signature"}) @XmlAccessorType(XmlAccessType.FIELD) public class TInutNFe {
Por aqui resolveu
[Dica] Erro cannot be cast to javax.xml.bind.JAXBElement
13/janeiro/2015 - Java
Olá,
Estávamos convertendo um XML em Java Object normalmente com o trecho abaixo:
Object object = (JAXBElement<Object>) unmarsh.unmarshal(is); object.getValue();
Depois de uma alteração passei a receber essa exception:
java.lang.ClassCastException: br.com.xxxx.nfe.beans.TInutNFe cannot be cast to javax.xml.bind.JAXBElement
A alteração foi incluir essa anotação na classe
@XmlRootElement(name="inutNFe", namespace="http://www.portalfiscal.inf.br/nfe")
Com isso a variável object é uma instância do bean e não de JAXBElement, dessa forma não é necessária fazer a chamada ao método getValue() na segunda linha.