Login Registre-se
NFe Web + Applet (A3) - Fazendo funcionar  XML
Índice dos Fóruns » NF-e / NFS-e / CT-e / CF-e / Certificados Digitais
Autor Mensagem
dneyandrade

JavaC Membro

Membro desde: 18/11/2013 18:54:03
Mensagens: 6
Offline

Boa Noite a todos ...

Neste post quero expor meus passos para implementar o módulo de NFE Web + Applet no meu sistema já consolidado.

Pretendo com isto agradecer à ajuda que este Forum me deu até agora.


Neste momento, acabo de consegui, com o Applet, consultar Status de Serviço, utilizando
Usei basicamente Eclipse;
Passei por diversos problemas, como:
- Execução parar inesperadamente;
- Problema com mensagem SSL;
- Conexão inalcançável;


Após 48 horas de trabalho, finalmente consegui consultar o Status de Serviço.


Então, lá vão as dicas:
1) Baixe o Exemplo de Applet disponível neste site.

2) Busque dentro de sua aplicação, pela palavra "changeit" e substitua pela senha do keytore .nfe-cacerts. No meu caso, a senha acabou ficando "changeit" mesmo, creio que foi por que eu rodei sem modificar. Nisso não me adentrei, pois achei um tanto quanto desnecessário. Mas o detalhe é que quando removo o .nfe-cacerts o sistema o gera de novo. Se alguém quiser investigar o problema. Fique a vontade.

3) Perca 30 segundos a mais e teste sempre o Applet como Applet, ou seja, gerando o .jar, assinando-o e carregando na página. Existe um arquivo html no profeto do Applet, e para quem tem dificuldade em questões de assinatura de Applet está aqui uma solução bem rápida. Onde apenas a última linha deve ser sempre executada:

keytool -genkey -keystore newkeystore -alias newalias -validity 720
keytool -selfcert -keystore newkeystore -alias newalias
jarsigner -keystore newkeystore nfeAppletExemplo.jar newalias

4) DESATIVE O SEU FIREWALL!!!! Com o firewall ativado TUUUUUDO é possível, acredite.


Qualquer dúvida podem entrar em contato, que respondo assim que possível.
dneyandrade

JavaC Membro

Membro desde: 18/11/2013 18:54:03
Mensagens: 6
Offline

Mais algumas horas de trabalho, eeeeeeeeee ....

1) Descobri que gerando o Applet e rodando no browser, não preciso parar o Firewall.
2) Consegui Assinar o XML com sucesso depois de bastante trabalho e muita pesquisa apesar de ter poucas fontes.

Ao assinar o XML, com o JAVA 7, versão mais nova _45, percebi primeiramente que não consegui correr normalmente pelo XML com o código original do APPLET, então a substituição foi a seguinte:

document.getDocumentElement().getElementsByTagName(tipo)

para

document.getElementsByTagName(tipo)

procure as ocorrências.

Então, me deparei com outro problema:
javax.xml.crypto.URIReferenceException: com.sun.org.apache.xml.internal.security.utils.resolver.ResourceResolverException: Cannot resolve element with ID NFe......

E depois de muito esforço, encontrei a solução aqui:
[url]http://www.guj.com.br/java/301513-erro-apos-atualizacao-java-problema-deles-ou-meu-resolvido
[/url]

Adicionei: el.setIdAttribute("Id", true);
migraplus

JavaC Membro
[Avatar]

Membro desde: 08/12/2013 21:44:39
Mensagens: 7
Offline

Ola Dney.

Amigo estou quebrando a cabeça com esse applet já tem uns dias.
Esta tudo funcionando menos a consulta de status do sefaz.

Se puder me dar uma ajudinha, postei o problema aqui:

http://www.javac.com.br/jc/posts/list/1299.page#7307

Aguardo.

att Marcos

Marcos Silva
MigraPlus.com.br
Skype : migraplus.com.br
Site : http://www.migraplus.com.br
Email: migraplus@migraplus.com.br

Acesse nosso site e verifique em poderemos ser útil.
robixnai

JavaC Membro

Membro desde: 16/08/2013 11:09:32
Mensagens: 5
Offline

dneyandrade o que você fez para o seu applet não parar inesperadamente? Gerei o .jar, assinei meu applet, mas quando execute ele pelo navegador, o mesmo assina corretamente, valida o schema, mas quando vai consultar o status da SEFAZ (SP) ele encerra inesperadamente.
dneyandrade

JavaC Membro

Membro desde: 18/11/2013 18:54:03
Mensagens: 6
Offline

Já deu uma olhada em qual é o endereço de consulta de status correto do estado que você deseja consultar? Já tentou desabilitar o firewall?
Não entendi o que você quis dizer com "encerra", ele interrompe a execução é isso? Não dá nenhuma resposta?
robixnai

JavaC Membro

Membro desde: 16/08/2013 11:09:32
Mensagens: 5
Offline

dneyandrade, o endereço de consulta está correto, já desabilitei o firewall. Sobre o "encerra" é o que me perguntou, ele interrompe a execução e não dá nenhuma resposta, é como se o programa terminasse todas as rotinas.
robixnai

JavaC Membro

Membro desde: 16/08/2013 11:09:32
Mensagens: 5
Offline

fazendo alguns testes, percebi que o problemas esta na classe "SocketFactoryDinamico", sempre que vai estanciar a classe a aplicação é interrompida.
linha que a aplicação é interrompida:

SocketFactoryDinamico socketFactoryDinamico = new SocketFactoryDinamico(certificate, privateKey);
dneyandrade

JavaC Membro

Membro desde: 18/11/2013 18:54:03
Mensagens: 6
Offline

Cara ... tenho que pensar. Tenho certeza que passei por isso também. Mas depois que concertei tudo, tive a ideia de baixar novamente e fazer tudo do zero, e seguindo o que coloquei acima deu tudo correto.
Vou tentar fazer no de SP aqui.
 
Índice dos Fóruns » NF-e / NFS-e / CT-e / CF-e / Certificados Digitais
Ir para:   
Powered by JForum 2.1.9 © JForum Team