Login Registre-se
Validar xml utilizando Jaxb  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
macario1983

JavaC Membro

Membro desde: 29/08/2013 12:47:32
Mensagens: 20
Offline

Bom dia

Como faço para validar a xml que estou recebendo em um sistema?

Estou utilizando o framework Jaxb.

Obrigado
jeroqueiroz

Moderador
[Avatar]

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

Com JAXB você faz a conversão do XML para Objeto e de Objeto para XML para ficar fácil a manipulação do Objeto.

Validação você faz com os XSD disponibilizados pelo portal da NF-e.

No fórum tem vários exemplos de uma verifica nos tópicos e caso continue as dúvidas volte a postar.

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]
macario1983

JavaC Membro

Membro desde: 29/08/2013 12:47:32
Mensagens: 20
Offline

jeroqueiroz wrote:Com JAXB você faz a conversão do XML para Objeto e de Objeto para XML para ficar fácil a manipulação do Objeto.

Validação você faz com os XSD disponibilizados pelo portal da NF-e.

No fórum tem vários exemplos de uma verifica nos tópicos e caso continue as dúvidas volte a postar.


Agradeço sua respostas mas minhas dúvidas são as seguinte.

Tenho como eu validar usando Jaxb?

Eu posso validar com o xsd da nfe 2.0 qualquer nota nfe?

Obrigado
jeroqueiroz

Moderador
[Avatar]

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

Aqui você tem a classe de validação: NF-e: Validação do XML

Você vai usar o XSD para validação de acordo a versão usada na geração do XML.

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]
macario1983

JavaC Membro

Membro desde: 29/08/2013 12:47:32
Mensagens: 20
Offline

jeroqueiroz wrote:Aqui você tem a classe de validação: NF-e: Validação do XML

Você vai usar o XSD para validação de acordo a versão usada na geração do XML.


bom dia, obrigado pela ajuda

implementei o método repassado, mas não esta dando certo, não sei se estou usando o xsd certo, estou querendo validar a nfe recebida pelo cliente.

Ou seja, c nfe que é enviada para o e-mail do comprador.



Qual a dica usada para validar a nfe de acordo com a versão?

Obrigado
jeroqueiroz

Moderador
[Avatar]

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

Qual XSD esta usando?

Tem que usar o do XML Proc já que deseja validar o XML recebido.

Sobre a validação você terá duas opções que identifico agora, sendo que pode se ter outras também:

- Você pode ler o XML normal com leitura de XML mesmo e obter somente a tag versão pra saber qual versão se trata e então tratar na sua aplicação para saber qual vai utilizar de acordo a versão obtida na leitura.

- Você pode usar o XSD e tentar efetuar a conversão em caso de erro como o ocorrido acima você irá tratar o retorno e partir para o próximo XSD.


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]
macario1983

JavaC Membro

Membro desde: 29/08/2013 12:47:32
Mensagens: 20
Offline

jeroqueiroz wrote:Qual XSD esta usando?

Tem que usar o do XML Proc já que deseja validar o XML recebido.

Sobre a validação você terá duas opções que identifico agora, sendo que pode se ter outras também:

- Você pode ler o XML normal com leitura de XML mesmo e obter somente a tag versão pra saber qual versão se trata e então tratar na sua aplicação para saber qual vai utilizar de acordo a versão obtida na leitura.

- Você pode usar o XSD e tentar efetuar a conversão em caso de erro como o ocorrido acima você irá tratar o retorno e partir para o próximo XSD.



macario1983

JavaC Membro

Membro desde: 29/08/2013 12:47:32
Mensagens: 20
Offline

Ninguém?

A nfe é essa que estou tentando validar...



Eu postei a xml com algumas alterações no valor dos elementos pois alguns dados são sigilosos.
jeroqueiroz

Moderador
[Avatar]

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

posta o XML como arquivo anexo para que possa efetuar uma validação aqui.

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]
macario1983

JavaC Membro

Membro desde: 29/08/2013 12:47:32
Mensagens: 20
Offline

jeroqueiroz wrote:posta o XML como arquivo anexo para que possa efetuar uma validação aqui.
 Nome do arquivo nfe.xml [Disk] Download
 Descrição nfe
 Tamanho 11 Kbytes
 Baixado:  678 vez(es)

jeroqueiroz

Moderador
[Avatar]

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

Somente a noite poderei verificar, pois não possuo o ambiente configurado aqui.

Volte a me cobrar a noite. Vlw!

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]
jeroqueiroz

Moderador
[Avatar]

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

Testei seu XML. efetuei a validação local com o XSD e funcionou perfeitamente, sem erros.


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

boa tarde jeroqueiroz!

Cara veja se pode me ajudar.

Depois que eu implantei aquela lei do bem estou tendo problema na validação do XML
sempre retorna esse erro.

src-resolve: Cannot resolve the name 'TDec_1504' to a(n) 'type definition' component.
src-resolve: Cannot resolve the name 'TDec_1504' to a(n) 'type definition' component.
cvc-complex-type.2.4.d: Encontrado o campo 'vTotTrib'. No child element é obrigatorio at this point.

estou utilizando este esquema: String xsd = caminho + "/PL_006g/enviNFe_v2.00.xsd

valew por enquanto.
jeroqueiroz

Moderador
[Avatar]

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

Você esta montando um XML e tendo problema certo?

Faça o seguinte teste. Pegue um XML Proc ou seja já enviado e tudo OK. Remova as tag do PROC e da assinatura, transforme-o em XML de Envio e faça a validação deste para verficar se funcionar sem erro, pois o erro apresentando aparenta ser de tags no XML. Aproveitando teste este seu XML no validador da SEFAZ RS.

Depois posta o resultado.

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


Caro amigo obrigado desde já segue meu xml para analise.

retorno que tive agora.

Retorno :src-resolve: Cannot resolve the name 'TDec_1504' to a(n) 'type definition' component.
Retorno :src-resolve: Cannot resolve the name 'TDec_1504' to a(n) 'type definition' component.
Retorno :Encontrado o campo 'vTotTrib'. Campo(s) 'ICMS, ISSQN' é obrigatorio.
Retorno :cvc-complex-type.2.4.d: Encontrado o campo 'vTotTrib'. No child element é obrigatorio at this point.
 Nome do arquivo 35130943322015000189550010000000011959502211.xml [Disk] Download
 Descrição
 Tamanho 3 Kbytes
 Baixado:  734 vez(es)

 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.9 © JForum Team