Login Registre-se
Applet NF-e - JavaC  XML
Índice dos Fóruns » Artigos / Tutoriais
Autor Mensagem
macielgoncalves

Administrador
[Avatar]

Membro desde: 06/03/2011 14:49:25
Mensagens: 1235
Localização: Tubarão - SC
Offline

Pessoal,

Muitos membros do fórum solicitaram um exemplo de emissão da NF-e totalmente em ambiente web. Segue neste post uma sugestão para resolver esse problema utilizando um Applet Java para realizar todos os processos necessários para emissão da NF-e. Neste Applet o acesso ao certificado digital é feito por meio do repositório do Windows.

O Applet está publicado no endereço:

http://www.javac.com.br/jc/applet.javac

O Projeto completo pode ser baixado em:

http://www.javac.com.br/downloads/Projetos/nfeAppletExemplo.zip

Esta mensagem foi editada 1 vez. Última atualização foi em 25/05/2015 10:07:31


Maciel Gonçalves
Administrador (JavaC - Java Community)
Seguir no Twitter @macielgoncalves



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

Quer saber mais sobre NF-e? Acesse www.MACIELGONCALVES.com.br

"A mente que se abre a uma nova ideia jamais voltará ao seu tamanho original." Albert Einstein
"Seja liberal naquilo que você aceita, e conservador naquilo que você propaga". Jon Postel.
"A coisa mais indispensável a um homem é reconhecer o uso que deve fazer do seu próprio conhecimento". Platão


Emissão de Documentos Fiscais para Desenvolvedores Java


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!

[WWW] [MSN]
joaoluizSK

JavaC Membro

Membro desde: 10/10/2012 11:01:19
Mensagens: 5
Localização: São Ludgero - SC
Offline

Obrigado Maciel

Com certeza essa aplicação será de grande ajuda para várias pessoas, inclusive para mim.

Parabéns pela iniciativa.


Um abraço.
rafaelcaribe

JavaC Membro

Membro desde: 12/11/2012 12:52:51
Mensagens: 1
Offline

Muito legal....baixei o código aqui e consegui rodar mas sempre recebo o mesmo erro: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?

Gostaria de saber se alguém já passou por isso e como resolver.

Para rodar o projeto eu fiz o seguinte: criei um projeto java no eclipse, colei todos os arquivos lá no projeto, coloquei a JRE 6 de 32 bits e rodei como applet.

Fiz alguma coisa errado?
2ecaraca

JavaC Membro

Membro desde: 05/11/2012 11:22:39
Mensagens: 1
Localização: São Paulo
Offline

Rapaz, estou tendo o mesmo problema do rafaelcaribe, quando vou rodar dá o erro:
org.apache.axis2.AxisFault: javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?

Ví no fórum que isso pode ocorrer pela falta do .nfe-cacerts, mas ele já está sendo gerado pelo código do applet, alguém sabe o que pode ser?

grt
guscoppi

JavaC Membro

Membro desde: 27/11/2012 17:24:43
Mensagens: 11
Offline

Estou tentando usar adaptar a classe de envio da NFe no applet que já está aqui no fórum, porém em todos os meus testes não consigo fazer com que o applet reconheça o certificado.

Recebo a mensagem:



Minha classe é:

Esta mensagem foi editada 1 vez. Última atualização foi em 10/12/2012 19:22:57

guscoppi

JavaC Membro

Membro desde: 27/11/2012 17:24:43
Mensagens: 11
Offline

Baixei o projeto, fiz algumas alterações no applet e quando tento gerar pelo ant do eclipse está dando a seguinte mensagem:

java.lang.UnsupportedClassVersionError: com/sun/tools/javac/Main : Unsupported major.minor version 51.0

Pesquisei por ai, e pelo que dizem geralmente isso ocorre porque a JVM do projeto é diferente da JVM do Ant. Mas já confirmei várias vezes, e ambas estão utilizando 1.7.

Alguém sabe o que pode ser?

macielgoncalves

Administrador
[Avatar]

Membro desde: 06/03/2011 14:49:25
Mensagens: 1235
Localização: Tubarão - SC
Offline

Olá guscoppi,

Provavelmente é a versão do Java, você deve ter duas versões diferentes no seu computador. Pode ser que você tenha uma versão para o SO e outra na IDE Java.

Att,

Maciel Gonçalves
Administrador (JavaC - Java Community)
Seguir no Twitter @macielgoncalves



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

Quer saber mais sobre NF-e? Acesse www.MACIELGONCALVES.com.br

"A mente que se abre a uma nova ideia jamais voltará ao seu tamanho original." Albert Einstein
"Seja liberal naquilo que você aceita, e conservador naquilo que você propaga". Jon Postel.
"A coisa mais indispensável a um homem é reconhecer o uso que deve fazer do seu próprio conhecimento". Platão


Emissão de Documentos Fiscais para Desenvolvedores Java


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!

[WWW] [MSN]
guscoppi

JavaC Membro

Membro desde: 27/11/2012 17:24:43
Mensagens: 11
Offline

Realmente... o meu eclipse estava iniciando com outra versão de java... arrumei tudo e deu certo...

Agora, está dando problema em outro ponto. Parece que ele não encontra a classe gerada pelo Webservice.

luciano.rodrigues

JavaC Membro

Membro desde: 06/12/2012 12:24:51
Mensagens: 4
Offline

Bom dia a todos.
Estou montando um applet para rodar a NFE e estou recebendo o erro: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
Meu applet está assinado e uso windows 7 64 bits + JDK 64 bits.

Alguém conseguiu resolver esse problema ?
Abraços a todos.
raffamz

JavaC Membro

Membro desde: 10/01/2013 09:37:57
Mensagens: 30
Offline

Luciano,

Pelo fiquei sabendo, existe uma incompatibilidade no Win7 64, por conta do repositório de certificados que não é o mesmo do que outras versões.


Abraço,

raffamz - Raffa Magalhães
[Email]
luciano.rodrigues

JavaC Membro

Membro desde: 06/12/2012 12:24:51
Mensagens: 4
Offline

Obrigado pela resposta raffamz.
Eu estava pensando que poderia ser mesmo questão de ser o Windows 64 ou mesmo a JVM 64.
Eu instalei uma VM no meu computador com WIN32 e o erro continua o mesmo.
Após várias horas deputando o código eu entendi onde acontece a excessão.

O erro acontece exatamente no método createSocket na classe SocketFactoryDinamico. Os parâmetros "port" e "host" são setados errados.

da forma que vem setado: port = 80, host = ""
do jeito correto: port=443,host="homologacao.nfe.fazenda.sp.gov.br"

por algum motivo, quando rodo meu código como applet, ele não consegue ler corretamente arquivo cacerts. Se eu setar essas duas variaveis manualmente no metodo em questão, os código funciona normalmente.

Agora a questão é: O que será que está fazendo o arquivo cacerts não funcionar corretamente dentro do applet. Testei o exemplo do Maciel e o mesmo acontece com o projeto dele.
Alguém pegou algo parecido ?
Será que é possivel criar o socket sem usar o arquivo cacerts ?
Abraços a todos




marcelom10x

JavaC Membro

Membro desde: 04/02/2013 12:46:37
Mensagens: 1
Offline

Olá, desde já agradeço pela disponibilização do projeto.
Estou com um problema, quando tento acessar ele por um applet via web, me deparo com um erro de ACESSO NEGADO (java.security.accesscontrolexception access denied), você saberia me orientar qual solução adotar? Obg
holandalves

JavaC Membro

Membro desde: 04/02/2013 12:50:51
Mensagens: 1
Offline

Pessoal,

Baixei o projeto do applet e quando rodo na minha máquina ele reconhece o token normalmente.

Criei um projeto web jsp e gerei um jar do applet e adicionei ao projeto, quando executo no tom cat o applet carrega e quando clico no botão listar certificados, aparece a mensagem
"java.security.AccessControlException: access denied ("java.security.SecurityPermission" "authProvider.sumMSCAPI")".

Se eu clicar novamente no botão listar certificados, aparece a mensagem "java.security.KeyStoreException: Uninitialized keystore".

Preciso configurar alguma coisa no tomcat para fazer rodar como no exemplo hospedado?
luciano.rodrigues

JavaC Membro

Membro desde: 06/12/2012 12:24:51
Mensagens: 4
Offline

Boa Tarde a todos.
o Problema access denied ("java.security.SecurityPermission" "authProvider.sumMSCAPI")", é por que o Applet não tem permissão para acesso ao certificado.
Para resolver isso, você pode assinar seu applet e/ou criar um arquivo java.policy que pode resolver o problema de permissão no seu computador.
Claro que é fortemente recomendado trabalhar com assinatura do applet e evitar ao máximo mexer com arquivos java.policy

Abaixo segue um exemplo de como assinar Applets

http://evandropaes.wordpress.com/2009/09/28/como-assinar-um-applet/

Espero ter ajudado
Abraços
dodopok

Moderador
[Avatar]
Membro desde: 26/06/2012 08:09:43
Mensagens: 45
Localização: Araras, São Paulo
Offline

Como faço para editar a interface gráfica do applet, só no código mesmo?

Existem mais coisas entre o céu e a terra do que sonha nossa vã filosofia. - William Shakespeare
[Email] [MSN]
 
Índice dos Fóruns » Artigos / Tutoriais
Ir para:   
Powered by JForum 2.1.9 © JForum Team