Skip to content

Instantly share code, notes, and snippets.

@rponte
Last active May 26, 2016 12:57
Show Gist options
  • Save rponte/1d5226b00468ead8fc45 to your computer and use it in GitHub Desktop.
Save rponte/1d5226b00468ead8fc45 to your computer and use it in GitHub Desktop.
Algumas anotações sobre NF-e com Java

Primeira coisa a se fazer é baixar o Manual do Contribuinte, leia de ponta a ponta!

Baixa os esquemas XML e usando alguma ferramenta gere as classes java a partir dele, eu fiz usando o JAXB, atualmente o jaxb ja vem junto com o java, nas pasta bin tem um executavel chamado XJC, este carinha pega os .xsd e te gera todas as classes da NFe.

Agora é implementar o app, basicamente seria o seguinte:

  1. Usuario insere os dados, onde tu vai preenchendo o objeto TNFe, considerando o que é obrigatorio e tals(leia o manual, e o tenha sempre ao lado);
  2. Tu pega o TNFe preenchido e faz o marshaller dele, transformando ele em XML;
  3. Assina o XML com o certificado digital do cliente, aqui é onde varias pessoas encontram dificuldades, aqui no GUJ tem umas 3 ou 4 thread sobre NFe, com varias paginas e varios exemplos de assinatura e certificado digital;
  4. Assina a conexao, acho que nao é bem assinar a conexao, mas a conexao tera que ser aberta em https, e o certificado digital do cliente vai ter que ser setado nela. Novamente tem os exemplos nas threads aqui do GUJ.
  5. Envia a NFe pelos webservices especificos, claro antes tu tem que ter criado os webservices usando Axis, CXF ou JAX-WS.
  6. Pega o retorno do webservice(um XML) e faz o unmarshaller dele tranformando ele em um objeto, verifique o resultado.
@rponte
Copy link
Author

rponte commented Aug 22, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment