Login Registre-se
Problema ao gerar xml de env para web service [RESOLVIDO]  XML
Índice dos Fóruns » NF-e / NFS-e / CT-e / CF-e / Certificados Digitais
Autor Mensagem
helton.a.marinho

JavaC Membro

Membro desde: 06/09/2011 15:38:29
Mensagens: 191
Offline

Galera ve se alguem pode me ajudar

estou adaptando minha classe que geraXML para webservice estou tendo seguinte erro

Erro na classe GerarXml.java: javax.xml.bind.MarshalException
- with linked exception:
[com.sun.istack.SAXException2: unable to marshal type "br.com.javac.envinfev2.TEnviNFe" as an element because it is missing an @XmlRootElement annotation]

Esta mensagem foi editada 1 vez. Última atualização foi em 20/06/2013 14:39:03

jeroqueiroz

Moderador
[Avatar]

Membro desde: 11/06/2011 09:45:18
Mensagens: 1348
Localização: Bahia
Offline

Isto parece esta relacionado com a conversão de objeto XML para Java.

Em qual momento do código acontece esta exception?

Jeremias Santos
Seguir no Twitter @jeroqueiroz
Blog Jeroqueiroz


Projeto NF-e, CT-e, CC-e? Comece Por Aqui!


Membros do fórum,

Usem a tag [code] e [/code] quando postarem Códigos Java e ou exemplos de XMLs.
Evitem tópicos duplicados.
Tópico solucionado? Edite o primeiro post e coloque [RESOLVIDO] no final do título.
Evitem reviver tópicos antigos.

O tópico resolveu seu problema? Seja gentil, comente e ou agradeça quem contribuiu com a solução.

Obrigado!
[Email] [WWW] [Yahoo!] [MSN]
helton.a.marinho

JavaC Membro

Membro desde: 06/09/2011 15:38:29
Mensagens: 191
Offline

cara acho que eu comi bola

na minha classe TEnviNFe
tinha essa notação
@XmlRootElement(name="NFe")

mudei para

@XmlRootElement(name="enviNFe")

vou efetuar os teste.
jcarlos78

JavaC Membro
[Avatar]

Membro desde: 17/08/2012 11:06:02
Mensagens: 64
Localização: Rio de Janeiro RJ
Offline

funcinou para voce ?
helton.a.marinho

JavaC Membro

Membro desde: 06/09/2011 15:38:29
Mensagens: 191
Offline

sim caro jcarlos78

vc esta com problema ?
qual erro ?

Helton
jcarlos78

JavaC Membro
[Avatar]

Membro desde: 17/08/2012 11:06:02
Mensagens: 64
Localização: Rio de Janeiro RJ
Offline

Então segue a exceção que to recebendo :

java.lang.ClassCastException: br.com.gko.entidade.envio.TEnviNFe cannot be cast to javax.xml.bind.JAXBElement


Estou usando na minha classe as seguintes anotações :



O Marshal funciona bem mas quando tento fazer o Unmarshal que estou tendo este problema.

Alguma ideia do que posso estar fazendo errado ...

Esta mensagem foi editada 1 vez. Última atualização foi em 29/08/2012 11:34:57

jcarlos78

JavaC Membro
[Avatar]

Membro desde: 17/08/2012 11:06:02
Mensagens: 64
Localização: Rio de Janeiro RJ
Offline

Então segue a exceção que to recebendo :

java.lang.ClassCastException: br.com.gko.entidade.envio.TEnviNFe cannot be cast to javax.xml.bind.JAXBElement


Estou usando na minha classe as seguintes anotações :



Primeiras duas linhas do XML sendo gerado :



O Marshal funciona bem mas quando tento fazer o Unmarshal que estou tendo este problema.

Alguma ideia do que posso estar fazendo errado ...

Esta mensagem foi editada 1 vez. Última atualização foi em 29/08/2012 11:38:08

helton.a.marinho

JavaC Membro

Membro desde: 06/09/2011 15:38:29
Mensagens: 191
Offline

Cara meu xml sai dessa forma
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<enviNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00">
<idLote>3</idLote>
<NFe>
<infNFe Id="NFe99999999999999999999999999999999999999999999999999999" versao="2.00">

cara nao sei se forma correta mas faço isso depois que gerar o xml

tag inicial
line1 = line1 + line.replaceAll("xmlns:ns2=\"http://www.w3.org/2000/09/xmldsig#\" ", "").replaceAll("<NFe>", "<NFe xmlns=\"http://www.portalfiscal.inf.br/nfe\">").trim();

tag final
line1 = line1 + line.replaceAll("</NFe>", "").replaceAll("</enviNFe>","</NFe></enviNFe>").trim();
jcarlos78

JavaC Membro
[Avatar]

Membro desde: 17/08/2012 11:06:02
Mensagens: 64
Localização: Rio de Janeiro RJ
Offline


ainda nda ...

Esta mensagem foi editada 4 vezes. Última atualização foi em 29/08/2012 12:30:53

helton.a.marinho

JavaC Membro

Membro desde: 06/09/2011 15:38:29
Mensagens: 191
Offline

vc ja tentou substituir .jar ?
helton.a.marinho

JavaC Membro

Membro desde: 06/09/2011 15:38:29
Mensagens: 191
Offline

que momento esta dando o erro ?
na hora de gerar xml ?
jcarlos78

JavaC Membro
[Avatar]

Membro desde: 17/08/2012 11:06:02
Mensagens: 64
Localização: Rio de Janeiro RJ
Offline

O erro ta acontecendo na hora do Unmarshal

JAXBElement<TEnviNFe> unmarshal = ( JAXBElement<TEnviNFe> ) unmarshaller.unmarshal(stringReader);



deve ser uma boberinha ....
helton.a.marinho

JavaC Membro

Membro desde: 06/09/2011 15:38:29
Mensagens: 191
Offline

faço dessa forma

JAXBContext jaxbCtx = JAXBContext.newInstance(TEnviNFe.class);
Marshaller marshaller = jaxbCtx.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
marshaller.marshal(dbEnviNFe, new File(caminho/nfe.xml"));
FileInputStream stream = null

String line = "";
String line1 = "";

// lendo arquivo xml e limpando quebras de linha e espaços em branco
try {
stream = new FileInputStream(caminho/nfe.xml");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
InputStreamReader streamReader = new InputStreamReader(stream);
BufferedReader reader = new BufferedReader(streamReader);

while((line=reader.readLine())!=null) {
line.replaceAll("\n", "")
.replaceAll("\r", "")
.replaceAll("\t", "")
.replaceAll(" ", " ")
.replaceAll(" ", " ")
.replaceAll("> <", "><")
.replaceAll(" </", "></")
.replaceAll("> ", ">")
.trim();



//utilizado para consumo do webservise
line1 = line1 + line.replaceAll("xmlns:ns2=\"http://www.w3.org/2000/09/xmldsig#\" ", "").replaceAll("<NFe>", "<NFe xmlns=\"http://www.portalfiscal.inf.br/nfe\">").trim();
/**
* para uso do software da sefaz
line1 = line1 + line.trim();
*/

}
veja se ajuda!
jcarlos78

JavaC Membro
[Avatar]

Membro desde: 17/08/2012 11:06:02
Mensagens: 64
Localização: Rio de Janeiro RJ
Offline


Este exemplo funciona ok ... você tem um exemplo de unmarshal ? ou seja de XML para objeto populado ?

Estou tentando da seguinte forma porem não ta funcionando :




ERRO:

 
Índice dos Fóruns » NF-e / NFS-e / CT-e / CF-e / Certificados Digitais
Ir para:   
Powered by JForum 2.1.9 © JForum Team