Login Registre-se
dúvidas NFE  XML
Índice dos Fóruns » NF-e / NFS-e / CT-e / CF-e / Certificados Digitais
Autor Mensagem
bruno_r_santana

JavaC Membro

Membro desde: 13/11/2012 11:08:17
Mensagens: 4
Offline

Bom dia,

Aqui na empresa vamos desenvolver uma aplicação que irá consultar o status de uma nfe via webservice. Já estamos com o certificado A1 em mãos e tenho dúvidas de onde instalar ele. Sei que tem uma forma de fazer o Jboss usar ele criando uma referencia ao certificado em um arquivo de configuração do Jboss. Mas para pegar o arquivo wsdl preciso instalar o certificado onde? Tem que instalar no SO ou apenas no browser ?

Eu li esses links e instalei no Firefox:
http://www.guj.com.br/java/233156-certificados-a1-...-a3---funciona-em-linux-ubuntu
http://www.dvdadvdr.com/forums/showthread.php?t=67676
http://stackoverflow.com/questions/9711173/convert...to-p12-with-or-without-openssl

Vi em um dos links que converteram o .pfx em .p12. No outro link fala que pode-se importar um certificado com extensão .p12 no Firefox ao contrário de um .pfx. Então converti o meu arquivo .pfx para .p12 com os seguintes comandos:

openssl pkcs12 -in certificado.pfx -out certificado.pem
openssl pkcs12 -export -in certificado.pem -inkey certificado.pem -out certificado.p12

Esse comando aqui não funcionou para mim para converter em .p12:
openssl pkcs12 -export -chain -CAfile certificado.pem -in certificado.pem -out certificado.p12

Como não tinha nem idéia de como importar o certificado no OS eu importei o certificado .p12 no Firefox mas não acessou a url do wsdl:

https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/NfeRecepcao2.asmx?WSDL

Aparece a mensagem:
==========================
The page requires a client certificate
The page you are attempting to access requires your browser to have a Secure Sockets Layer (SSL) client certificate that the Web server will recognize. The client certificate is used for identifying you as a valid user of the resource.

Please try the following:

Contact the Web site administrator if you believe you should be able to view this directory or page without a client certificate, or to obtain a client certificate.
If you already have a client certificate, use your Web browser's security features to ensure that your client certificate is installed properly. (Some Web browsers refer to client certificates as browser or personal certificates.)

HTTP Error 403.7 - Forbidden: SSL client certificate is required.
Internet Information Services (IIS)

Technical Information (for support personnel)

Go to Microsoft Product Support Services and perform a title search for the words HTTP and 403.
Open IIS Help, which is accessible in IIS Manager (inetmgr), and search for topics titled About Certificates, Using Certificate Trust Lists, Enabling Client Certificates, and About Custom Error Messages.
==========================

Detalhe, importando o certificado .pfx no Windows e no Internet Explorer consegui acessar a url do wsdl. Porém precisa fazer rodar aqui na minha máquina que é Linux. Alguém sabe o que mais posso tentar?

Também gostaria de um passo a passo, um checklist para seguir. Alguém poderia me explicar quais passos tenho que seguir para poder consumir o webservice da fazenda e conseguir ver os status das notas?

Obrigado.
bruno_r_santana

JavaC Membro

Membro desde: 13/11/2012 11:08:17
Mensagens: 4
Offline

Pessoal,

Vou descrever o que fiz até agora. No Linux instalei o certificado no Firefox conforme mencionei anteriormente mas não consegui acessar o wsdl pelo browser então nem tentei gerar os stubs no Netbeans, mas se tiverem alguma sugestão de como fazer funcionar no Linux me digam por favor. Criei uma VM Windows e instalei o certificado pfx dando 2 cliques nele e pelo browser consegui acessar o wsdl normalmente. Gerei um client do web service pelo Netbeans e depois criei as 2 classes de exemplo que peguei aqui:

http://www.javac.com.br/jc/posts/list/224-resolvendo-o-problema-4037-forbidden-para-certificado-a1-protocolsocketfactory.page

Alterei o código fonte do arquivo NFeStatusServicoFactoryDinamicoA1 colocando um XML de teste para tentar consumir o serviço NfeStatusServico2. Ao executar a classe aparece na saída do Netbeans:

log4j:WARN No appenders could be found for logger (org.apache.axiom.om.util.StAXUtils).
log4j:WARN Please initialize the log4j system properly.
INFO: <retConsStatServ xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00"><tpAmb>2</tpAmb><verAplic>SP_NFE_PL_006j</verAplic><cStat>215</cStat><xMotivo>Rejeição: Falha no schema XML</xMotivo><cUF>35</cUF><dhRecbto>2012-11-13T15:44:38</dhRecbto></retConsStatServ>
CONSTRUÍDO COM SUCESSO (tempo total: 4 segundos)

Já verifiquei diversos links que falam desse problema "Falha no schema XML". Um deles é esse que fala que tenho que enviar um lote para a fazenda:

http://www.flexdocs.com.br/suporte/knowledgebase.php?article=154

Será que é esse o problema? Alguma sugestão?

Na verdade criei essas classes acima para teste, para me familiarizar com o processo de consumir os webservices da fazenda, mas minha aplicação vai requerer que eu consuma o serviço NfeConsulta2 e não o serviço NfeStatusServico2. Precisarei alterar muita coisa?

Estou no caminho certo pessoal para poder fazer minha app consumir o serviço NfeStatusServico2 ?

Obrigado.
ivandm

JavaC Membro
[Avatar]

Membro desde: 05/02/2012 12:00:22
Mensagens: 101
Offline

No Fórum Javac existe as principais funções da NFe com exemplos.

Segue link:

http://www.javac.com.br/jc/posts/list/16-nfe-consulta-da-nfe-webservice-20.page
bruno_r_santana

JavaC Membro

Membro desde: 13/11/2012 11:08:17
Mensagens: 4
Offline

Bom dia,

Consegui fazer funcionar com essas duas classes, segue código caso alguém mais tenha o mesmo problema:





Mas ainda gostaria de fazer funcionar no Linux. O problema maior no Linux para mim é a instalação do certificado que não funciona. Se alguém puder ajudar nessa questão eu agradeço.

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