Pessoal,
Como não sou membro com “moral” para colocar tópico na seção de tutoriais, vou deixar por enquanto aqui,
se alguém quiser, podem mover pra lá.
A ideia aqui é ajuda e ser ajudado.
Até este ponto já está 100% funcionando, então vou postar um passo a passo (bem mastigado) pra quem tiver enfrentando problemas.
Espero que alguma alma possa contribuir com este roteiro também.
Escopo deste tutorial:
- instalação dos certificados
- criação do repositório de chaves (keystore)
- consulta do web service NfeStatusServico2
Arquivos/Classes que fazem parte deste tutorial:
Arquivo 1) Arquivo com o certificado digital do ambiente de homologação da Sefaz Virtual:
https://homologacao.nfe.sefaz.rs.gov.br/Certificado_AC_NFE.SEFAZ.RS.p7b
Arquivo 2) PFX2JKSProgram.java - classe que importa as chaves para dentro do repositório de chaves (keystore)
Bom vamos lá:
Instalação do certificado da sefaz:
Abra o IE (Internet Explorer) -> Ferramentas -> Opções de Internet -> Conteúdo -> Certificados
Importar e escolha o arquivo que você baixou do site da SEFAZ (Arquivo 1)
** Por padrão será armazenado na aba “Outras Pessoas” (pelo menos no meu aqui )
Exportação dos certificados:
Agora vamos exportar os certificados, inclusive de toda a cadeia.
Vai na aba Outras Pessoas e exporte os três certificados (escolha X.509 codificado na base 64(*.cer)):
“Autoridade Certificadora do SERPRO Final v2” para um arquivo em c:\certificados\nf1.cer
“Autoridade Certificadora Raiz Brasileira v1” para um arquivo em c:\certificados\nf2.cer
“Autoridade Certificadora SERPRO v2” para um arquivo em c:\certificados\nf3.cer
Criação do nosso keystore:
Saia para o prompt do MS-DOS (para os antigos) ou Prompt de Comando para os novatos:
keytool -genkey -alias nfe -keyalg RSA -keypass 123456 -storepass 123456 -keystore c:/certificados/nfe.jks -dname “cn=NOMEDASUAEMPRESA, ou=Desenvolvimento, o=EMPRESA, l=Cidade, S=DF, c=BR” -validity 365
Agora importar os certificados para dentro do seu keystore:
Ainda no prompt de comando:
keytool -importcert -alias nfe1 -keystore c:/certificados/nfe.jks -file c:/certificados/nf1.cer -storepass 123456
keytool -importcert -alias nfe2 -keystore c:/certificados/nfe.jks -file c:/certificados/nf2.cer -storepass 123456
keytool -importcert -alias nfe3 -keystore c:/certificados/nfe.jks -file c:/certificados/nf3.cer -storepass 123456
Agora os certificados estão instalados.
Agora vamos importar os certificados/chaves que estão dentro do seu arquivo A1 (.PFX) para dentro do seu
keystore:
Para isso basta executar a classe PFX2JKSProgram.java que está anexo neste tutorial.
Antes de executar a classe, abra o arquivo e altere algumas informações, pois dentro desta classe,
no método main, voce terá que informar os dados do seu certificado, como por exemplo:
Considerando que seu arquivo PFX chama-se JUREMA.PFX e está em c:\certificados
altere as variaveis:
certificadoPFX = “c:\certificados\JUREMA.PFX”
passwordPFX = “123456”
Após rodar esta classe, seu keystore estará com todas as informações pra rodar seu primeiro webservice (NfeStatusServico2)
Testando o webservice:
Agora basta rodar a classe NfeStatusServico2Soap e sair para o abraço, o resultado deverá ser:
[code]Message enviada
com.sun.xml.internal.messaging.saaj.soap.ver1_2.Message1_2Impl@201f9
in :
out :
<?xml version="1.0" encoding="utf-8"?><soap:Envelopexmlns:soap=“http://www.w3.org/2003/05/soap-envelope”
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
xmlns:xsd=“http://www.w3.org/2001/XMLSchema”>soap:Header422.00</soap:Header>soap:Body2SVRS20110111103240107Servico
em
Operacao422011-03-03T17:36:431</soap:Body></soap:Envelope>
[/code]
Note que no final do XML de retorno, tem uma MSG “Servico em Operacao”, isso significa que deu certo e que o serviço está em operação
Bom,
Espero logo postar mais novidades.
Agora vou para o NfeRecepcao2