GNRE OnLine - Web-Service

89 respostas
R

Pessoal, Estou tentando comunicar com o web-service da GNRE OnLine mas não estou conseguindo, estou tentando da mesma forma que eu faço hoje com os web-service da NFe, mas retorna sempre o erro abaixo, alguem já passou por este tipo de problema ? podem me ajudar ?, já tentei entrar em contado com o pessoal da GNRE, mas ninguem ajuda, passo e-mail e ninguem responde.

Estou usando axis2-1.6.2, SOAP 1.2

SOAP Header:
<soapenv:Header xmlns:soapenv=“http://www.w3.org/2003/05/soap-envelope”>1.00</soapenv:Header>

SOAP Body:
<soapenv:Body xmlns:soapenv=“http://www.w3.org/2003/05/soap-envelope”>2MG100048</soapenv:Body>

[color=red]Erro:
org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.[/color]

Site GNRE com a documentação: http://www.gnre.pe.gov.br/gnre/portal/GNRE_Principal.jsp

89 Respostas

A

Fala Reinaldo… td bom??!
eu vou precisar desenvolver um sistema para o GNRE online tb…
mas ainda estou indo atrás de documentações, informações e tudo mais, ainda não coloquei a mão na massa…
como esta a sua situação? conseguiu descobrir qual é o problema?
por acaso vc esta usando o mesmo certificado emitido para a NFe para consumir os serviços?

vou ir pesquisando, se eu tiver coisas novas vou postar aqui…
abraco
Felipe

R

Felipe, consegui resolver o problema sim, todo o processo de comunicação e retorno de dados já esta funcionando aqui na empresa, qualquer dúvida ou problema posta aqui que se eu souber eu ajudo.

alves.Felipe:
Fala Reinaldo… td bom??!
eu vou precisar desenvolver um sistema para o GNRE online tb…
mas ainda estou indo atrás de documentações, informações e tudo mais, ainda não coloquei a mão na massa…
como esta a sua situação? conseguiu descobrir qual é o problema?
por acaso vc esta usando o mesmo certificado emitido para a NFe para consumir os serviços?

vou ir pesquisando, se eu tiver coisas novas vou postar aqui…
abraco
Felipe

A

blz Reinaldo…valeu…
eu pedi ontem o acesso ao ws, mas ainda ninguém me respondeu…
vamos esperar para ver o que vai dar…rs

abraco

A

Fala Reinaldo…td bom?!
hoje me responderam, falaram que o meu cnpj esta autorizado…
mas não tenho contato nenhum com o suporte técnico…
estou tentando consumir o GnreConfigUF, pode me dar uma força?
esse é o endereço que estou consumindo: http://www.gnre.pe.gov.br/gnreWS/services/GnreConfigUF
esse é o meu envolope…

<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Header><gnreCabecMsg xmlns="http://www.gnre.pe.gov.br/wsdl/GnreConfigUF"><versaoDados>1.00</versaoDados></gnreCabecMsg></env:Header>
<env:Body><gnreDadosMsg xmlns="http://www.gnre.pe.gov.br/wsdl/GnreConfigUF"><TConsultaConfigUf xmlns="http://www.gnre.pe.gov.br"><ambiente>2</ambiente><uf>PR</uf><receita courier="N">100056</receita></TConsultaConfigUf></gnreDadosMsg></env:Body>
</env:Envelope>

e o retorno que estou recebendo é esse

<soapenv:Body> <soapenv:Fault> <faultcode xmlns:ns1="http://xml.apache.org/axis/">ns1:Client.NoSOAPAction</faultcode> <faultstring>no SOAPAction header!</faultstring> <detail> <ns2:hostname xmlns:ns2="http://xml.apache.org/axis/">sf025055.sefaz.pe.gov.br</ns2:hostname> </detail> </soapenv:Fault> </soapenv:Body>
qualquer dica é válida :smiley:
abraco

A

Eu arrumei aquele erro…estou conseguindo consumir o WS GnreConfigUF,
mas agora estou recebendo a mensagem que falta o certificado:

<ns1:TConfigUf xmlns:ns1="http://www.gnre.pe.gov.br" xmlns="http://www.gnre.pe.gov.br"> <ns1:ambiente>1</ns1:ambiente><ns1:uf>PR</ns1:uf><ns1:situacaoConsulta> <ns1:codigo>198</ns1:codigo><ns1:descricao>Este serviço deve usar uma conexão HTTPS Segura! Tente novamente utilizando seu Certificado Digital.</ns1:descricao> </ns1:situacaoConsulta></ns1:TConfigUf>
Sabe se eu consigo consumir os serviços usando o certificado da NF-e?
Outra coisa, pode me confirmar o endereço do Ws GnreConfigUF?
eu estou usando esse: http://www.gnre.pe.gov.br/gnreWS/services/GnreConfigUF, não deveria ser um com https?
quando eu coloco https da time out…

abraco

J

Estou com esse mesmo erro, alguem pode me ajudar ?
Erro: org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.

Obrigado

A

vc esta tentando consumir qual serviço?

J

Estou tentando o Envio do Lote das GNRE.
GnreRecepçaoLote - http://www.gnre.pe.gov.br/gnreWS/services/GnreLoteRecepcao

A

você ja tentou consumir um serviço mais simples antes?
eu ainda não montei um lote para enviar… ainda estou tentando consumir o GnreConfigUF…
vou tentar consumir o do lote para ver o que vai dar…

A

reinaldoaraujo:
Felipe, consegui resolver o problema sim, todo o processo de comunicação e retorno de dados já esta funcionando aqui na empresa, qualquer dúvida ou problema posta aqui que se eu souber eu ajudo.

pode dar uma força?

J

Estou enviando o seguinte XML

<?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><SOAP-ENV:Header><NS1:gnreCabecMsg xmlns:NS1="https://www.gnre.pe.gov.br/webservice/GnreLoteRecepcao"><versaoDados xmlns="httsp://www.gnre.pe.gov.br/webservice/GnreLoteRecepcao">1.00</versaoDados></NS1:gnreCabecMsg></SOAP-ENV:Header><SOAP-ENV:Body><processar xmlns="https://www.gnre.pe.gov.br/webservice/GnreLoteRecepcao"><gnreDadosMsg><TLote_GNRE xmlns="http://www.gnre.pe.gov.br"><guias><TDadosGNRE><c01_UfFavorecida>AC</c01_UfFavorecida><c02_receita>100099</c02_receita><c26_produto>44</c26_produto><c27_tipoIdentificacaoEmitente>1</c27_tipoIdentificacaoEmitente><c03_idContribuinteEmitente><CNPJ>05744574000198</CNPJ></c03_idContribuinteEmitente><c28_tipoDocOrigem>10</c28_tipoDocOrigem><c04_docOrigem>000666</c04_docOrigem><c06_valorPrincipal>666</c06_valorPrincipal><c10_valorTotal>6</c10_valorTotal><c14_dataVencimento>2012-10-10</c14_dataVencimento><c16_razaoSocialEmitente>EMPRESA TESTE LTDA</c16_razaoSocialEmitente><c18_enderecoEmitente>RUA SHIT</c18_enderecoEmitente><c19_municipioEmitente>02704</c19_municipioEmitente><c20_ufEnderecoEmitente>PE</c20_ufEnderecoEmitente><c21_cepEmitente>13456000</c21_cepEmitente><c22_telefoneEmitente>38892984</c22_telefoneEmitente><c34_tipoIdentificacaoDestinatario>2</c34_tipoIdentificacaoDestinatario><c35_idContribuinteDestinatario><CPF>[telefone removido]</CPF></c35_idContribuinteDestinatario><c37_razaoSocialDestinatario>ZULEYD RIBEIRO</c37_razaoSocialDestinatario><c38_municipioDestinatario>02704</c38_municipioDestinatario><c33_dataPagamento>2012-09-05</c33_dataPagamento><c05_referencia><periodo>1</periodo><mes>10</mes><ano>2012</ano></c05_referencia></TDadosGNRE><TDadosGNRE><c01_UfFavorecida>AC</c01_UfFavorecida><c02_receita>100099</c02_receita><c26_produto>44</c26_produto><c27_tipoIdentificacaoEmitente>1</c27_tipoIdentificacaoEmitente><c03_idContribuinteEmitente><CNPJ>05744574000198</CNPJ></c03_idContribuinteEmitente><c28_tipoDocOrigem>10</c28_tipoDocOrigem><c04_docOrigem>000666</c04_docOrigem><c06_valorPrincipal>666</c06_valorPrincipal><c10_valorTotal>6</c10_valorTotal><c14_dataVencimento>2012-10-10</c14_dataVencimento><c16_razaoSocialEmitente>EMPRESA TESTE LTDA</c16_razaoSocialEmitente><c18_enderecoEmitente>RUA SHIT</c18_enderecoEmitente><c19_municipioEmitente>02704</c19_municipioEmitente><c20_ufEnderecoEmitente>PE</c20_ufEnderecoEmitente><c21_cepEmitente>13456000</c21_cepEmitente><c22_telefoneEmitente>38892984</c22_telefoneEmitente><c34_tipoIdentificacaoDestinatario>2</c34_tipoIdentificacaoDestinatario><c35_idContribuinteDestinatario><CPF>[telefone removido]</CPF></c35_idContribuinteDestinatario><c37_razaoSocialDestinatario>ZULEYD RIBEIRO</c37_razaoSocialDestinatario><c38_municipioDestinatario>02704</c38_municipioDestinatario><c33_dataPagamento>2012-09-05</c33_dataPagamento><c05_referencia><periodo>1</periodo><mes>10</mes><ano>2012</ano></c05_referencia></TDadosGNRE><TDadosGNRE><c01_UfFavorecida>AC</c01_UfFavorecida><c02_receita>100099</c02_receita><c26_produto>44</c26_produto><c27_tipoIdentificacaoEmitente>1</c27_tipoIdentificacaoEmitente><c03_idContribuinteEmitente><CNPJ>05744574000198</CNPJ></c03_idContribuinteEmitente><c28_tipoDocOrigem>10</c28_tipoDocOrigem><c04_docOrigem>000666</c04_docOrigem><c06_valorPrincipal>666</c06_valorPrincipal><c10_valorTotal>6</c10_valorTotal><c14_dataVencimento>2012-10-10</c14_dataVencimento><c16_razaoSocialEmitente>EMPRESA TESTE LTDA</c16_razaoSocialEmitente><c18_enderecoEmitente>RUA SHIT</c18_enderecoEmitente><c19_municipioEmitente>02704</c19_municipioEmitente><c20_ufEnderecoEmitente>PE</c20_ufEnderecoEmitente><c21_cepEmitente>13456000</c21_cepEmitente><c22_telefoneEmitente>38892984</c22_telefoneEmitente><c34_tipoIdentificacaoDestinatario>2</c34_tipoIdentificacaoDestinatario><c35_idContribuinteDestinatario><CPF>[telefone removido]</CPF></c35_idContribuinteDestinatario><c37_razaoSocialDestinatario>ZULEYD RIBEIRO</c37_razaoSocialDestinatario><c38_municipioDestinatario>02704</c38_municipioDestinatario><c33_dataPagamento>2012-09-05</c33_dataPagamento><c05_referencia><periodo>1</periodo><mes>10</mes><ano>2012</ano></c05_referencia></TDadosGNRE></guias></TLote_GNRE></gnreDadosMsg></processar></SOAP-ENV:Body></SOAP-ENV:Envelope>

E recebo a seguinte resposta

<?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><processarResponse xmlns="http://www.gnre.pe.gov.br/webservice/GnreLoteRecepcao"><ns1:TRetLote_GNRE xmlns="http://www.gnre.pe.gov.br" xmlns:ns1="http://www.gnre.pe.gov.br"><ns1:ambiente>1</ns1:ambiente><ns1:situacaoRecepcao><ns1:codigo>303</ns1:codigo><ns1:descricao>Vers&#xE3;o dos Dados n&#xE3;o suportada</ns1:descricao></ns1:situacaoRecepcao></ns1:TRetLote_GNRE></processarResponse></soapenv:Body></soapenv:Envelope>

Mesmo enviando versão 1.00, ele responde que a versão dos dados é incorreta.

A

cara… vc esta setando o certificado antes de enviar?
qual o endereço que vc esta consumindo?

J

Sim… mudei todos os endereços pra https
Mais estou fazendo em Delphi…rs…

A

humm eu mudo para https da time out… que blz…
já conseguiu falar com algum suporte de PE?

J

alves.Felipe:
humm eu mudo para https da time out… que blz…
já conseguiu falar com algum suporte de PE?

Aumenta seu timeout… aqui as vezes demora 20 segundos pra responder…

A

mas vc consegue acessar o endereço pelo browser?
esse é o endereço que estou tentando
https://www.gnre.pe.gov.br/gnreWS/services/GnreConfigUF
vc precisou setar também o certificado do servidor?
me passa o endereço que vc esta usando para eu testar aqui…
valeo

J

Endereços que estou consumindo:
https://www.gnre.pe.gov.br/gnreWS/services/GnreLoteRecepcao?wsdl
https://www.gnre.pe.gov.br/gnreWS/services/GnreLoteRecepcao

Mais não saio daquele erro de versão invalida. Mesmo enviando versão 1.00

As vezes tenho esse retorno de erro : org.xml.sax.SAXParseException: Content is not allowed in trailing section.

Alguma luz ?

A

Vou tentar fazer enviar um lote pra ver oq vai dar…
e sobre o timeout que eu tinha dito, fica la 2 minutos e nada…
quando coloco esse endereço no browser nao aparece nada tb…
será que vai valer isso para o final do mês mesmo?!?rs

J
alves.Felipe:
Vou tentar fazer enviar um lote pra ver oq vai dar.. e sobre o timeout que eu tinha dito, fica la 2 minutos e nada.. quando coloco esse endereço no browser nao aparece nada tb.. será que vai valer isso para o final do mês mesmo?!?rs
No chome quando eu acesso o endereço ele me perde o certificado digital... e depois da um erro... Este aqui :
GnreConfigUF

Hi there, this is an AXIS service!

Perhaps there will be a form for invoking the service here...

As vezes tenho esse retorno de erro : org.xml.sax.SAXParseException: Content is not allowed in trailing section.

Alguma luz ?

A

o Jonesbond, salvou meu dia…rs
consegui comunicar com o serviço ConfigUf, o meu problema era o proxy daqui da empresa…
testei numa conexão aberta e funcionou…
agora vou começar a montar o lote…
bem provavel que até amanhã eu consiga testar tudo… ai te aviso…:smiley:

valeww…
abraco…

J

Posta o XMLs de envio pra mim olhar…

A

xml para consumir o configUf

<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Header><gnreCabecMsg xmlns="http://www.gnre.pe.gov.br/webservice/GnreConfigUF"><versaoDados>1.00</versaoDados></gnreCabecMsg></env:Header><env:Body><gnreDadosMsg xmlns="http://www.gnre.pe.gov.br/webservice/GnreConfigUF"><TConsultaConfigUf xmlns="http://www.gnre.pe.gov.br"><ambiente>2</ambiente><uf>PR</uf><receita courier="N">100056</receita></TConsultaConfigUf></gnreDadosMsg></env:Body></env:Envelope>

J

Na empresa que trabalho tem GNREOFF integrado com o GNRE do Banco do Brasil. Mas no OnLine como funciona a liquidação da guia? Liguei no suporte do Banco do Brasil e não souberam me dizer.
Não tenho pratica com web-service alguem pode me dar uma dicar para testar este serviço?

J

O XML que estou tentando valida no xsd. Valida na importação do site.
Mais pelo webservice fica com este erro org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.

XML de envio:

<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> <soap12:Header> <gnreCabecMsg xmlns="http://www.gnre.pe.gov.br/webservice/GnreLoteRecepcao"> <versaoDados>1.00</versaoDados> </gnreCabecMsg> </soap12:Header> <soap12:Body> <gnreDadosMsg xmlns="https://www.gnre.pe.gov.br/webservice/GnreLoteRecepcao"> <TLote_GNRE xmlns="http://www.gnre.pe.gov.br"> <guias> <TDadosGNRE> <c01_UfFavorecida>PE</c01_UfFavorecida> <c02_receita>100099</c02_receita> <c26_produto>1</c26_produto> <c27_tipoIdentificacaoEmitente>1</c27_tipoIdentificacaoEmitente> <c03_idContribuinteEmitente> <CNPJ>05744574000198</CNPJ> </c03_idContribuinteEmitente> <c28_tipoDocOrigem>10</c28_tipoDocOrigem> <c04_docOrigem>001002</c04_docOrigem> <c06_valorPrincipal>19.95</c06_valorPrincipal> <c10_valorTotal>19.95</c10_valorTotal> <c14_dataVencimento>2012-10-28</c14_dataVencimento> <c15_convenio>SP - PROT.101/07 - 10/08 - 13/</c15_convenio> <c16_razaoSocialEmitente>PAMELATESTE LTDA</c16_razaoSocialEmitente> <c17_inscricaoEstadualEmitente>116667960118</c17_inscricaoEstadualEmitente> <c18_enderecoEmitente>RUA ROBERTO KOCK, 121, BOX 3</c18_enderecoEmitente> <c19_municipioEmitente>00401</c19_municipioEmitente> <c20_ufEnderecoEmitente>SP</c20_ufEnderecoEmitente> <c21_cepEmitente>13458190</c21_cepEmitente> <c22_telefoneEmitente>[telefone removido]</c22_telefoneEmitente> <c34_tipoIdentificacaoDestinatario>1</c34_tipoIdentificacaoDestinatario> <c35_idContribuinteDestinatario> <CNPJ>08793314000109</CNPJ> </c35_idContribuinteDestinatario> <c36_inscricaoEstadualDestinatario>041444817</c36_inscricaoEstadualDestinatario> <c37_razaoSocialDestinatario>AVON INDUSTRIAL LTDA</c37_razaoSocialDestinatario> <c38_municipioDestinatario>50308</c38_municipioDestinatario> <c33_dataPagamento>2012-10-27</c33_dataPagamento> <c05_referencia> <periodo>1</periodo> <mes>10</mes> <ano>2012</ano> </c05_referencia> </TDadosGNRE> </guias> </TLote_GNRE> </gnreDadosMsg> </soap12:Body> </soap12:Envelope>

A

japa_h:
Na empresa que trabalho tem GNREOFF integrado com o GNRE do Banco do Brasil. Mas no OnLine como funciona a liquidação da guia? Liguei no suporte do Banco do Brasil e não souberam me dizer.
Não tenho pratica com web-service alguem pode me dar uma dicar para testar este serviço?

no site do gnre, tem o manual para baixar e la mostra como vai ser o novo fluxo…

A

jonesbond:
O XML que estou tentando valida no xsd. Valida na importação do site.
Mais pelo webservice fica com este erro org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.

Jones, segue o xml que estou enviando…
eu consegui enviar e receber o nr do recibo…

<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <gnreCabecMsg xmlns="http://www.gnre.pe.gov.br/webservice/GnreLoteRecepcao"> <versaoDados>1.00</versaoDados> </gnreCabecMsg></env:Header> <env:Body> <gnreDadosMsg xmlns="http://www.gnre.pe.gov.br/webservice/GnreLoteRecepcao"> <TLote_GNRE xmlns="http://www.gnre.pe.gov.br"> <guias> <TDadosGNRE> <c01_UfFavorecida>AC</c01_UfFavorecida> <c02_receita>100099</c02_receita> <c27_tipoIdentificacaoEmitente>1</c27_tipoIdentificacaoEmitente> <c03_idContribuinteEmitente> <CNPJ>78908266000477</CNPJ> </c03_idContribuinteEmitente> <c28_tipoDocOrigem>10</c28_tipoDocOrigem> <c04_docOrigem>593107</c04_docOrigem> <c06_valorPrincipal>194.63</c06_valorPrincipal> <c10_valorTotal>194.63</c10_valorTotal> <c14_dataVencimento>2012-10-25</c14_dataVencimento> <c15_convenio>76</c15_convenio> <c16_razaoSocialEmitente>MILI S/A</c16_razaoSocialEmitente> <c17_inscricaoEstadualEmitente>[telefone removido]</c17_inscricaoEstadualEmitente> <c18_enderecoEmitente>RUA VER ANGELO BURBELLO, 355, BR B</c18_enderecoEmitente> <c19_municipioEmitente>06902</c19_municipioEmitente> <c20_ufEnderecoEmitente>PR</c20_ufEnderecoEmitente> <c21_cepEmitente>81490285</c21_cepEmitente> <c22_telefoneEmitente>[telefone removido]</c22_telefoneEmitente> <c34_tipoIdentificacaoDestinatario>1</c34_tipoIdentificacaoDestinatario> <c35_idContribuinteDestinatario> <CNPJ>47427653010935</CNPJ> </c35_idContribuinteDestinatario> <c36_inscricaoEstadualDestinatario>0102262800104</c36_inscricaoEstadualDestinatario> <c37_razaoSocialDestinatario>MAKRO ATACADISTA S/A - LOJA 70</c37_razaoSocialDestinatario> <c38_municipioDestinatario>00401</c38_municipioDestinatario> <c33_dataPagamento>2012-10-25</c33_dataPagamento> <c05_referencia> <periodo>1</periodo> <mes>10</mes> <ano>2012</ano> </c05_referencia> </TDadosGNRE> </guias></TLote_GNRE></gnreDadosMsg></env:Body></env:Envelope>

A

jonesbond:
Estou enviando o seguinte XML
E recebo a seguinte resposta

<?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><processarResponse xmlns="http://www.gnre.pe.gov.br/webservice/GnreLoteRecepcao"><ns1:TRetLote_GNRE xmlns="http://www.gnre.pe.gov.br" xmlns:ns1="http://www.gnre.pe.gov.br"><ns1:ambiente>1</ns1:ambiente><ns1:situacaoRecepcao><ns1:codigo>303</ns1:codigo><ns1:descricao>Vers&#xE3;o dos Dados n&#xE3;o suportada</ns1:descricao></ns1:situacaoRecepcao></ns1:TRetLote_GNRE></processarResponse></soapenv:Body></soapenv:Envelope>
Mesmo enviando versão 1.00, ele responde que a versão dos dados é incorreta.


olhe que estranho, na minha classe de teste envia com sucesso, ai quando eu mando pelo sistema , o retorno é esse também.
eu peguei o xml que gerou pelo sistema e mandei pela minha classse de teste e foi…
vc conseguiu sair desse erro?

M

Olá pessoal, estou desenvolvendo essa integração da GNRE também Online e está me ocorrendo o seguinte erro :

System.Web.Services.Protocols.SoapException: java.rmi.RemoteException: Erro ao gerar XML de resposta em System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)

Se alguém puder me ajudar fico agradecido.

R

Pessoal, estou começando a desenvolver agora com o webservice. Alguém tem um exemplo de como consumir o web service da GNRE?

Grato.

A

rmsega:
Pessoal, estou começando a desenvolver agora com o webservice. Alguém tem um exemplo de como consumir o web service da GNRE?
Grato.

procura como consumir o WS da NF-e que é a mesma coisa.Tem vários exemplos aqui no guj.

A

Ae galera,
para quem esta desesperado com a GNRE, fiquei sabendo hoje por um contato do BB, que a GNRE vai ser adiada!!!

R

Blz! Vou procurar por NFe. Obrigado!

J

ReqResp.URL := ‘http://www.gnre.pe.gov.br/gnreWS/services/GnreConfigUF’;
ReqResp.SoapAction := ‘http://www.gnre.pe.gov.br/gnreWS/services/GnreConfigUF’;

Recebo a mensagem abaixo alguem pode me dar uma dica?

<?xml version="1.0"?>

<soapenv:Envelope xmlns:soapenv=“http://www.w3.org/2003/05/soap-envelope” xmlns:xsd=“http://www.w3.org/2001/XMLSchema” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”>
soapenv:Body
soapenv:Fault
soapenv:Code
soapenv:Valuesoapenv:Server.userException</soapenv:Value>
</soapenv:Code>
soapenv:Reason
<soapenv:Text xml:lang=“en”>org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.</soapenv:Text>
</soapenv:Reason>
soapenv:Detail
<ns1:hostname xmlns:ns1=“http://xml.apache.org/axis/”>sf025055.sefaz.pe.gov.br</ns1:hostname>
</soapenv:Detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>

J

Consegui consumir o serviço GNRECONFIUF, alguem pode postar modelo xml de consumo dos outros serviços?

J

Como consigo os Schema da GNRE?

D

Ola bom dia …

esta no site, caso naum consiga me mandae um email

J

Olá decioneto200.

Consegui os schemas.

Estou tentando abrir o xml de lote no site e da erro.

<?xml version="1.0" encoding="UTF-8"?>

<Tlote_GNRE>




</Tlote_GNRE>

Arquivo de lote inválido --> cvc-elt.1: Cannot find the declaration of element ‘Tlote_GNRE’.

Alguma dica?

D

entaum cara sou desenvolvedor em delphi to aqui de para quedas pra ter uma nocao de como fazer
pois tenhu muitos clientes q utilizam guia de gnre.

A

japa_h:
Olá decioneto200.

Consegui os schemas.

Estou tentando abrir o xml de lote no site e da erro.

Arquivo de lote inválido --> cvc-elt.1: Cannot find the declaration of element ‘Tlote_GNRE’.

Alguma dica?


você gerou o xml e esta tentando importar no site, é isso?
o TLote deve ser declarado assim:

<TLote_GNRE xmlns="http://www.gnre.pe.gov.br" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.gnre.pe.gov.br lote_gnre_v1.00.xsd ">

com o L maiúsculo…e mais os atributos…

J

Olá Felipe.

Correto etava tentano importar pelo site.

Estou envianado os dados e recebendo o erro abaixo:

<?xml version="1.0" encoding="UTF-8"?>
<soap12:Envelope xmlns:xsi=“<a href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a> xmlns:xsd=“<a href="http://www.w3.org/2001/XMLSchema">http://www.w3.org/2001/XMLSchema</a> xmlns:soap12=“<a href="http://www.w3.org/2003/05/soap-envelope">http://www.w3.org/2003/05/soap-envelope</a>”><a>soap12:Header</a>1.00</soap12:Header><a>soap12:Body</a><TLote_GNRE xmlns=“<a href="http://www.gnre.pe.gov.br">http://www.gnre.pe.gov.br</a> xmlns:xsi=“<a href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a> xsi:schemaLocation=“<a href="http://www.gnre.pe.gov.br">http://www.gnre.pe.gov.br</a> lote_gnre_v1.00.xsd”>



…



</TLote_GNRE></soap12:Body></soap12:Envelope>
<?xml version="1.0"?>

<soapenv:Envelope xmlns:soapenv=“http://www.w3.org/2003/05/soap-envelope” xmlns:xsd=“http://www.w3.org/2001/XMLSchema” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”>
soapenv:Body
soapenv:Fault
soapenv:Code
soapenv:Valuesoapenv:Server.userException</soapenv:Value>
</soapenv:Code>
soapenv:Reason
<soapenv:Text xml:lang=“en”>org.xml.sax.SAXParseException: XML document structures must start and end within the same entity.</soapenv:Text>
</soapenv:Reason>
soapenv:Detail
<ns1:hostname xmlns:ns1=“http://xml.apache.org/axis/”>sf025055.sefaz.pe.gov.br</ns1:hostname>
</soapenv:Detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>

A

cara… compara com esse xml ai… pq esse esta certo…

<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <gnreCabecMsg xmlns="http://www.gnre.pe.gov.br/webservice/GnreLoteRecepcao"> <versaoDados>1.00</versaoDados> </gnreCabecMsg></env:Header> <env:Body> <gnreDadosMsg xmlns="http://www.gnre.pe.gov.br/webservice/GnreLoteRecepcao"> <TLote_GNRE xmlns="http://www.gnre.pe.gov.br"> <guias> <TDadosGNRE> <c01_UfFavorecida>AC</c01_UfFavorecida> <c02_receita>100099</c02_receita> <c27_tipoIdentificacaoEmitente>1</c27_tipoIdentificacaoEmitente> <c03_idContribuinteEmitente> <CNPJ>78908266000477</CNPJ> </c03_idContribuinteEmitente> <c28_tipoDocOrigem>10</c28_tipoDocOrigem> <c04_docOrigem>593107</c04_docOrigem> <c06_valorPrincipal>194.63</c06_valorPrincipal> <c10_valorTotal>194.63</c10_valorTotal> <c14_dataVencimento>2012-10-25</c14_dataVencimento> <c15_convenio>76</c15_convenio> <c16_razaoSocialEmitente>MILI S/A</c16_razaoSocialEmitente> <c17_inscricaoEstadualEmitente>[telefone removido]</c17_inscricaoEstadualEmitente> <c18_enderecoEmitente>RUA VER ANGELO BURBELLO, 355, BR B</c18_enderecoEmitente> <c19_municipioEmitente>06902</c19_municipioEmitente> <c20_ufEnderecoEmitente>PR</c20_ufEnderecoEmitente> <c21_cepEmitente>81490285</c21_cepEmitente> <c22_telefoneEmitente>[telefone removido]</c22_telefoneEmitente> <c34_tipoIdentificacaoDestinatario>1</c34_tipoIdentificacaoDestinatario> <c35_idContribuinteDestinatario> <CNPJ>47427653010935</CNPJ> </c35_idContribuinteDestinatario> <c36_inscricaoEstadualDestinatario>0102262800104</c36_inscricaoEstadualDestinatario> <c37_razaoSocialDestinatario>MAKRO ATACADISTA S/A - LOJA 70</c37_razaoSocialDestinatario> <c38_municipioDestinatario>00401</c38_municipioDestinatario> <c33_dataPagamento>2012-10-25</c33_dataPagamento> <c05_referencia> <periodo>1</periodo> <mes>10</mes> <ano>2012</ano> </c05_referencia> </TDadosGNRE> </guias></TLote_GNRE></gnreDadosMsg></env:Body></env:Envelope>

J

Felipe.

Estou rindo a toa.

Lote recebido com Sucesso…

Muito Obrigado.

R

Alguém tem um arquivo de retorno com sucesso para usar como exemplo? Pq estou com problemas no certificado e queria ir adiantando os demais processos.
Obrigado.

J

Olá rsmega.

Eu não consegui um retorno 100 % ainda, somente processado com pendencias.

Estou mandando no ambiente 1, sabe se endereço para homologação é outro?

J

Ola rsmega,

segue :

Envio do lote.

<?xml version="1.0"?>
<soapenv:Envelope xmlns:soapenv=<a href="http://www.w3.org/2003/05/soap-envelope">http://www.w3.org/2003/05/soap-envelope</a>” xmlns:xsd=“<a href="http://www.w3.org/2001/XMLSchema">http://www.w3.org/2001/XMLSchema</a>” xmlns:xsi=“<a href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a>”>

<a>soapenv:Body</a>



<ns1:TRetLote_GNRE xmlns=<a href="http://www.gnre.pe.gov.br">http://www.gnre.pe.gov.br</a>” xmlns:ns1=“<a href="http://www.gnre.pe.gov.br">http://www.gnre.pe.gov.br</a>”>

<a>ns1:ambiente</a>1</ns1:ambiente>

<a>ns1:situacaoRecepcao</a>

<a>ns1:codigo</a>100</ns1:codigo>

<a>ns1:descricao</a>Lote recebido com Sucesso</ns1:descricao>

<a>ns1:guiaErro</a>0</ns1:guiaErro>

</ns1:situacaoRecepcao>

<a>ns1:recibo</a>

<a>ns1:numero</a>[telefone removido]</ns1:numero>

<a>ns1:dataHoraRecibo</a>2012-11-08 15:56:16</ns1:dataHoraRecibo>

<a>ns1:tempoEstimadoProc</a>2000</ns1:tempoEstimadoProc>

</ns1:recibo>

</ns1:TRetLote_GNRE>



</soapenv:Body>

</soapenv:Envelope>

Consulta Lote:

<?xml version="1.0"?>
<soapenv:Envelope xmlns:soapenv=<a href="http://www.w3.org/2003/05/soap-envelope">http://www.w3.org/2003/05/soap-envelope</a>” xmlns:xsd=“<a href="http://www.w3.org/2001/XMLSchema">http://www.w3.org/2001/XMLSchema</a>” xmlns:xsi=“<a href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a>”>

<a>soapenv:Body</a>



<ns1:TResultLote_GNRE xmlns=<a href="http://www.gnre.pe.gov.br">http://www.gnre.pe.gov.br</a>” xmlns:ns1=“<a href="http://www.gnre.pe.gov.br">http://www.gnre.pe.gov.br</a>”>

<a>ns1:ambiente</a>1</ns1:ambiente>

<a>ns1:numeroRecibo</a>[telefone removido]</ns1:numeroRecibo>

<a>ns1:situacaoProcess</a>

<a>ns1:codigo</a>402</ns1:codigo>

<a>ns1:descricao</a>Lote Processado com sucesso</ns1:descricao>

</ns1:situacaoProcess>

<a>ns1:resultado</a>"dados conforme lay out de retorno"</ns1:resultado>

</ns1:TResultLote_GNRE>



</soapenv:Body>

</soapenv:Envelope>
R

Na verdade eu também não consegui essa confirmação. Mas pelo que eu entendi, usa o mesmo ambiente, somente no arquivo XML que define o ambiente (1-Produção ou 2-Homologação).

R

Obrigado, pelo exemplo.

J

Olá.
Alguem pode dizer como liquidam as guias em Lote, qual banco e como imprimem e se utilizam sistema proprio para impressão?

L

Pessoal boa noite.
Tivemos sucesso em comunicar com os WS da GNRE On line, porém uma coisa que não entendi é a IMPRESSÃO.

Devemos criar nosso próprio lay-out de impressão ???
A impressão não é mais necessária ???
Depois de conseguir enviar o LOTE e receber a confirmação, devemos imprimir gerando o código de barras ???

Alguém pode me ajudar nestas questões, pois até a versão OFF-LINE, a impressão era feita pelo sistema.
Obrigado

J

Olá Lenadro Rossi.

Também estou com as mesmas duvidas, pois o banco que dava suporte na impressão das guias após a liquidação a guia ja imprimia com a autenticação do banco, não esta dando suporte para a gnre on-line.
Ou seja temos que criar o lay out se é que podemos e enviar uma remessa para o banco buscar o retorno e imprimir as guias?

L

Pois é amigo, é muito confuso.
Nossa equipe tem bastante habilidade para trabalhar com WEB SERVICES.
Já atuamos com o projeto da NFe desde o começo (2009) e até o momento só colhemos resultados positivos.
Porém com a NFe o projeto é muito CLARO, ou seja, você precisa criar a NFe em formato XML, colher a autorização de USO e imprimir seu DANFE para transporte.

Já na GNRE, não enxergo tal CLAREZA.
Devemos enviar as informações por que motivo ???
A aplicação ON LINE, assim como a OFF LINE, me parece apenas um assistente de impressão ou de geração de um LAY-OUT de impressão.
Não está CLARA a necessidade de AUTORIZAÇÃO de uma GNRE, haja vista que você pode gerar quantas quiser sem representar um DÉBITO para a empresa.

Ou seja, continuo com a dúvida CONCEITUAL.
E pelo visto não estou sozinho.

Agradeço a pronta resposta.

L

Gostaria de acrescentar que já envie e-mail para a SEFFAZ de MG, e já liguei nos telefones de MG e PE.
Detalhe, ninguém sabe nada à respeito.
A atendente de MG solicitou que eu consulta-se o FALE CONOSCO direto do SITE da SEFAZ de MG.
Tentarei amanhã pela manhã !!!

R

Boa tarde pessoal.

Estou enviando o arquivo de consulta e esta dando o erro:
“java.rmi.RemoteException: Erro ao gerar XML de resposta”

Alguém sabe dizer o que pode ser isso?

Obrigado

R

Caso alguém possua um arquivo de envio de lote e um de envio de consulta para eu usar de modelo agradeço.

R

Pessoal, por favor! Alguém esta conseguindo fazer o processo completo da GNRE Online?
Enviar o lote, receber a resposta e fazer a consulta do lote. Pois estou tentando fazer a consulta do lote e não consigo.
Só da a mensagem: “java.rmi.RemoteException: Erro ao gerar XML de resposta”.

Se alguém puder me dar uma luz agradeço.

J

Olá,

rsmega.

Sou muito fraco com java ou seja nao programo nada só estudando vido aula a mais de dois anos. Consegui gerar as classes em java mas por questoes de pratica, fiz em delphi.
Mesmo assim foi dificil.

Peguei um exemplo de consulta status serviço Delphi Conferençe em vinte minutos o palestrante fez de duas formas optei pela segunda enviar o xml completo, mas sem a ajuda do pessoal aqui não conseguiria.

Premeiro fiz consultauf como o pessoal sugeriu.

E depois peguei o xml que alves.felipe postou aqui, esta na pagina 3.

Hoje tenho o processo completo.

Tenho como meta conseguir fazer em java.

Obrigado a todos.

R

Você tem o arquivo de envio da consulta para eu comparar com o meu?

Obrigado!

J
// Cria stream para armazenar o XML de resposta.
    Resposta := TStringStream.Create;
    Texto := '';
    // Define texto XML para status de serviço.
    Texto := '<?xml version="1.0" encoding="UTF-8"?>';
    Texto := Texto + '<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">';
    Texto := Texto + '<soap12:Header>';
    Texto := Texto + '<gnreCabecMsg xmlns="http://www.gnre.pe.gov.br/webservice/GnreResultadoLote">';
    Texto := Texto + '<versaoDados>1.00</versaoDados>';
    Texto := Texto + '</gnreCabecMsg></soap12:Header>';
    Texto := Texto + '<soap12:Body>';
    Texto := Texto + '<gnreDadosMsg xmlns="http://www.gnre.pe.gov.br/webservice/GnreResultadoLote">';
    Texto := Texto + '<TConsLote_GNRE xmlns="http://www.gnre.pe.gov.br">';
    Texto := Texto + '<ambiente>1</ambiente><numeroRecibo>' + edtRecibo.Text + '</numeroRecibo>';
    Texto := Texto + '</TConsLote_GNRE></gnreDadosMsg></soap12:Body></soap12:Envelope>';
    Arquivo := TstringList.Create;
    Arquivo.Text := Texto;

    // Cria e configura objeto para comunicação com o webservice.
    ReqResp := THTTPReqResp.Create(nil);
    // ReqResp.WebNodeOptions := [wnoSOAP12];
    ReqResp.UseUTF8InHeader := True;
    ReqResp.URL := 'https://www.gnre.pe.gov.br/gnreWS/services/GnreResultadoLote?wsdl';
    ReqResp.SoapAction := 'https://www.gnre.pe.gov.br/gnreWS/services/GnreResultadoLote';
    // Executa comunicação com o webservice.
    ReqResp.Execute(Texto, Resposta);
    // Exibe mensagem de resposta.
    // ShowMessage(FormatXMLData(Resposta.DataString));
    Memo1.Text := (FormatXMLData(Resposta.DataString));
    // Destroi objetos.
R

Blz!

Você tem como me mandar o arquivo xml que você usou para fazer a consulta do lote?

Obrigado!

J

Olá rsmega.

Se é que eu entendi. É so vc pegar o conteudo desta variavel texto ai.

se não conseguir como envio xml no forum?

R

Se você editar o arquivo XML e dar copiar e colar aqui já me ajuda bastante.

Obrigado.

J
<?xml version="1.0" encoding="UTF-8"?>

<soap12:Envelope xmlns:soap12=“http://www.w3.org/2003/05/soap-envelope” xmlns:xsd=“http://www.w3.org/2001/XMLSchema” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”>soap12:Header1.00</soap12:Header>soap12:Body<TConsLote_GNRE xmlns=“http://www.gnre.pe.gov.br”>1</TConsLote_GNRE></soap12:Body></soap12:Envelope>

Como seria o metodo para consultar o status serviço ou configuf em java?

L

Dá uma olhadinha na versão do SOAP que está enviando a requisição se é compativel com o webservice. Tive um problema parecido e tive que fazer requisição em SOAP 1.0

R

japa_h:
<?xml version="1.0" encoding="UTF-8"?>
<soap12:Envelope xmlns:soap12=“http://www.w3.org/2003/05/soap-envelope” xmlns:xsd=“http://www.w3.org/2001/XMLSchema” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”>soap12:Header1.00</soap12:Header>soap12:Body<TConsLote_GNRE xmlns=“http://www.gnre.pe.gov.br”>1</TConsLote_GNRE></soap12:Body></soap12:Envelope>

Como seria o metodo para consultar o status serviço ou configuf em java?

Obrigado pelo exemplo. Na verdade estou desenvolvendo o projeto em C#. Só entrei nesse forum porque foi o único que encontrei que o pessoal estava respondendo sobre GNRE Online.

M

Boa noite pessoal gostaria de uma ajuda alguém pode disponibilizar o layout do xml de GnreResultadoLote da gnre pois não encontro.
Estou fazendo em vb.net.

Obrigado.

M

Pessoal estou tantando consulta uma gnre com o formato do xml

<?xml version="1.0" encoding="UTF-8"?>

<ConsLote_GNRE xmlns=“http://www.gnre.pe.gov.br/webservice/GnreResultadoLote” versao=“1.0”>
1
[telefone removido]
</ConsLote_GNRE>

mas da erro de conexao com servidor www.gnre.pe.gov.br
alguem sabe dizer porque.
Obrigado.

T

Sou novo no fórum e estava lendo sobre a GNRE Online, e vi obtiveram sucesso na comunicação.
Poderiam me ajudar ?

Ao tentar estabelecer a comunicação com o webservice, se eu acesso apenas com HTTP (http://www.gnre.pe.gov.br/gnreWS/services/GnreConfigUF?wsdl) estabeleço comunicação e o mesmo me retorna:

“Este serviço deve usar uma conexão HTTPS Segura! Tente novamente utilizando seu Certificado Digital.”

Porém, meus problemas surgem quando tento a conexão segura (https://www.gnre.pe.gov.br/gnreWS/services/GnreConfigUF?wsdl).
É exibido o seguinte erro:

“error:14094412:SSL routines:SSL3_READ_BYTES:sslv3 alert bad certificate”

Eu solicitei a liberação do meu cnpj somente na 2ª feira, liguei para PE e eles informaram que ainda está em análise.
Tenho 2 palpites para esse problema

  1. Não consigo acesso, pois meu CNPJ ainda não está liberado.
    OU
  2. Estou com algum outro erro quando anexo o Certificado digital na requisição.

Uma dúvida que tenho é: Se meu CNPJ/certificado não estivesse liberado, eu conseguiria acessar o WSDL pelo browser normalmente ? (eu consigo)
O Método de autenticação da GNRE é o mesmo utilizado pela SEFAZ para emitir NFe ? (eu tbm consigo acessar a SEFAZ para NFE)

Poderiam me ajudar ?

A

thiago_souza,
eu não precisei de nenhuma liberação para efetuar a comunicação, só alterei para https e o resto é igual para se comunicar com a nfe…

M

Felipe eu muda tambem para https mas deu erro de A solicitação foi anulada: Não foi possível criar um canal seguro para SSL/TLS.
Obrigado.

T

Eu ainda estou aguardando a SEFAZ de PE me responder se fui autorizado ou não, enquanto isso continuo com erro.

O que acho estranho é que fiz uma comunicação teste, para validar uma NFe e obtive sucesso.
Se eu acesso o endereço via HTTPS via browser, usando o mesmo certificado para autenticação tbm obtenho sucesso.

Porém,
Na comunicação via webservice, acontece esse erro de certificado.

A

você exportou e adicionou no seu keystore o certificado da gnre?

T

Sim, segui o procedimento do seguinte link: http://www.sefaz.pe.gov.br/sefaz2/flexpub/versao1/filesdirectory/systems6719.pdf

Será que consigo de alguma outra maneira de validar se meu certificado está coreto ? eu apenas converti o PFX para PEM…

A

cara… na verdade nem sabia daquele tutorial… eu uso uma classe que faz esse procedimento automático…
mas se vc seguir isto (que eu usava para a nfe), acho que vai rolar tb…:

-Baixar os arquivos .WSDL em https://www.gnre.pe.gov.br/gnreWS/services/GnreLoteRecepcao?wsdl
e no mesmo link instalar o certificado, clicando no cadeado, exibir certificado e instalar.

  • depois de instalar vai no Internet Explorer -> Ferramentas -> Opções da internet -> (Aba) Conteúdo -> (botão) certificados -> (Aba) outras pessoas; a chave instalada deve estar ai.
    -selecione ela e clique no botão Exportar;
    -na tela da exportação marque o RadioButton X.509 codificado na base 64 (*.cer) informe o arquivo com extensão .cer;
    -Importar esta chave pública que vc exportou no IE para um keystore do Java com a ferramenta Keytool:
    -via DOS va até a pasta bin da sua JRE e execute o seguinte comando: keytool -import -alias nfe -keystore <caminho_para_um_keystore Ex: c:\certificados\nfe.keystore> -file <caminho_completo_para_o_cert_exportado_do_IE ( arquivo .cer)>, esse comando irá gerar um arquivo que no exemplo é c:\certificados\nfe.keystore
    -importar todos os .cer(exportado do ie) para o keystore

tenta ai… acho que vai funcionar…

A

thiago_souza:

Será que consigo de alguma outra maneira de validar se meu certificado está coreto ? eu apenas converti o PFX para PEM…

e o seu certificado (o mesmo que da nfe), continua pfx… pelo meno eu fiz assim…

T

Olá

desculpa a demora para responder, então os procedimentos para instalar os certificados da Sefaz no meu computador eu já havia feito,
Estou tentando fazer a comunicação por cURL, veja abaixo o exemplo

C:\Users\Thiago\Downloads\curl-7.23.1-win64-ssl-sspi>curl -3 https://www.gnre.pe.gov.br/gnreWS/services/GnreConfigUF?wsdl --cert cliente.pem --key chave.pem --insecure

Resposta:
curl: (35) error:14094412:SSL routines:SSL3_READ_BYTES:sslv3 alert bad certificate

Porém se eu altero o endereço para algum da SEFAZ por exemplo:

C:\Users\Thiago\Downloads\curl-7.23.1-win64-ssl-sspi>curl -3 https://nfe.fazenda.mg.gov.br/nfe2/services/NfeStatusServico2 --cert cliente.pem --key chave.pem --insecure

Resposta:<soap:Envelope xmlns:soap=“http://www.w3.org/2003/05/soap-envelope”>soap:Bodysoap:Faultsoap:Codesoap:Valuesoap:Receiver</soap:Value></soap:Code>soap:Reason<soap:Text xml:lang=“en”>No such operation: (HTTP GET PATH_INFO: /nfe2/NfeStatusServico2)</soap:Text></soap:Reason></soap:Fault></soap:Body></soap:Envelope>

Apesar de apresentar erro eu obtive sucesso na requisição, o erro aqui da NFe é devido ao XML não enviado como requisição

Será que existe alguma outra maneira para eu testar meu certificado ? Ou a conexão ?

T

Bad Certificate.

Bom dia pessoal,
depois de muito tempo, consegui resolver.

O problema é que minha cadeia de certificado não está autorizado na SEFAZ, para solucionar temos 2 opções:

  1. Eles adicionarem toda a cadeia de certificado no servidor deles (já fiz essa solicitação há 2 semanas)
  2. Você na requisição cURL enviar toda a cadeia de certificados junto, através dos comandos

Obrigado a todos que me ajudaram!

M

mbrocco:
Olá pessoal, estou desenvolvendo essa integração da GNRE também Online e está me ocorrendo o seguinte erro :

System.Web.Services.Protocols.SoapException: java.rmi.RemoteException: Erro ao gerar XML de resposta em System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)

Se alguém puder me ajudar fico agradecido.

Cara você conseguiu resolver esse caso?
Obrigado.

M

mbrocco:
Olá pessoal, estou desenvolvendo essa integração da GNRE também Online e está me ocorrendo o seguinte erro :

System.Web.Services.Protocols.SoapException: java.rmi.RemoteException: Erro ao gerar XML de resposta em System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)

Se alguém puder me ajudar fico agradecido.

Cara você conseguiu resolver esse caso?
Obrigado.

R

Olá pessoal…

Preciso fazer essa integração via webservice a partir do txt gerado pelo emissor nfe gratuito, alguém teria disponibilidade para desenvolver?

obrigado…

G

Bom Dia senhores…
Estou querendo implantar o uso de Web Services do GNRE aqui na empresa, mas não conheço este método.
Alguem poderia me dar o caminho das pedras ?!?!
O que eu preciso ter / criar / implantar aqui na empresa ?
Grato e aguardo retorno…

Augusto.
[email removido]

A

gutosoft,

http://www.gnre.pe.gov.br/gnre/index.html

J

Bom dia.

Alguem pode me dar uma dica como resolvo a mensagem abaixo. Pesquisei e não consegui resolver.

No caso da GNRE precisa desta informação? e como Ficaria? //arquivo que contém a cadeia de certificados do serviço a ser consumido
// socketFactory.setFileCacerts(this.getClass().getResource(“C:/Certificados/nfe-cacerts”)); //mudei este trecho para a classe abaixo.

br.gov.pe.gnre.www.webservice.gnreconfiguf.GnreConfigUFStub$GnreDadosMsg@101f935
<ns1:TConfigUf xmlns:ns1=“http://www.gnre.pe.gov.br” xmlns=“http://www.gnre.pe.gov.br”>ns1:ambiente1</ns1:ambiente>ns1:ufMG</ns1:uf>ns1:situacaoConsultans1:codigo198</ns1:codigo>ns1:descricaoEste serviço deve usar uma conexão HTTPS Segura! Tente novamente utilizando seu Certificado Digital.</ns1:descricao></ns1:situacaoConsulta></ns1:TConfigUf>

import java.io.FileInputStream;

import java.net.URL;

import java.security.KeyStore;

import java.security.PrivateKey;

import java.util.Map;

import java.security.cert.X509Certificate;

import org.apache.axiom.om.OMElement;

import org.apache.axiom.om.util.AXIOMUtil;

import org.apache.commons.httpclient.protocol.Protocol;
import java.io.ByteArrayInputStream;

import java.io.ByteArrayOutputStream;

import java.util.HashMap;

import javax.xml.parsers.DocumentBuilderFactory;

import javax.xml.transform.Transformer;

import javax.xml.transform.TransformerFactory;

import javax.xml.transform.dom.DOMSource;

import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;

import org.w3c.dom.Element;

import org.w3c.dom.NodeList;

import br.gov.pe.gnre.www.webservice.gnreconfiguf.GnreConfigUFStub;

public class TestGnreConfigUF_01 {

/**
 * @param args
 */

public static void main(String[] args) {
	try{
	URL url = new URL("http://www.gnre.pe.gov.br/gnreWS/services/GnreConfigUF");


	  SelecionaCertificado selecionaCertificado = new SelecionaCertificado(null, true);
      selecionaCertificado.setVisible(true);
      Map map = selecionaCertificado.getDadosCertificado();
      String caminhoCertificado = (String) map.get("caminhoCertificado");
      char[] senha = (char[]) map.get("senha");

    /** 
     * Informações do Certificado Digital. 
     */  
    //busca os dados do certificado digital
    KeyStore ks = KeyStore.getInstance("PKCS12");
    ks.load(new FileInputStream(caminhoCertificado), senha);
    String alias = ks.aliases().nextElement();
    X509Certificate certificate = (X509Certificate) ks.getCertificate(alias);
    PrivateKey privatekey = (PrivateKey) ks.getKey(alias, senha);
    SocketFactoryDinamico socketFactory = new SocketFactoryDinamico(certificate, privatekey);
    //arquivo que contém a cadeia de certificados do serviço a ser consumido
  //  socketFactory.setFileCacerts(this.getClass().getResource("C:/Certificados/nfe-cacerts")); //mudei este trecho para a classe abaixo.

    
    
    
   // getClass().getResourceAsStream(): procura o resource no mesmo diretorio do .class.

    //getClass().getClassLoader().getResourceAsStream(): procura no CLASSPATH. 
    
    //define o protocolo a ser utilizado na conexão
    Protocol protocol = new Protocol("https", socketFactory, 443);
    Protocol.registerProtocol("https", protocol);
		

	   StringBuilder xmls = new StringBuilder();  
    
    xmls.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>")  
    .append("<TConsultaConfigUf xmlns=\"http://www.gnre.pe.gov.br\">")
    .append("<ambiente>1</ambiente><uf>MG</uf><receita courier=\"N\">100048</receita>")  
    .append("</TConsultaConfigUf></gnreDadosMsg");  

	String xml = xmls.toString();
	
	OMElement ome =  AXIOMUtil.stringToOM(xml);

   	GnreConfigUFStub.GnreDadosMsg dadosMsg = new 	GnreConfigUFStub.GnreDadosMsg();  
    dadosMsg.setExtraElement(ome);  
	GnreConfigUFStub.GnreCabecMsg cabecMsg = new 	GnreConfigUFStub.GnreCabecMsg();  
    cabecMsg.setVersaoDados("1.00");  

	GnreConfigUFStub stub = new GnreConfigUFStub(url.toString());
	
	System.out.println(dadosMsg);
	
	 stub.consultar(dadosMsg, cabecMsg);
	
     //NfeStatusServico2Stub.NfeStatusServicoNF2Result result = stub.nfeStatusServicoNF2(dadosMsg, nfeCabecMsgE);  
    
	 GnreConfigUFStub.GnreRespostaMsg result =  stub.consultar(dadosMsg, cabecMsg);

	 
	   ByteArrayInputStream in = new ByteArrayInputStream(result.getExtraElement().toString().getBytes());

       DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
       dbf.setNamespaceAware(true);

// Document doc = dbf.newDocumentBuilder().parse(in);

System.out.println(result.getExtraElement().toString());  
	
	
} catch (Exception e) {
	error(e.toString());
}	
	
	
}

   private static void error(String log) {  
        System.out.println("ERROR: " + log);  
    }

}

import java.io.FileInputStream;
import java.io.IOException;

import java.io.InputStream;

import java.net.InetAddress;

import java.net.InetSocketAddress;

import java.net.Socket;

import java.net.SocketAddress;

import java.net.UnknownHostException;

import java.security.KeyManagementException;

import java.security.KeyStore;

import java.security.KeyStoreException;

import java.security.NoSuchAlgorithmException;

import java.security.Principal;

import java.security.PrivateKey;

import java.security.cert.CertificateException;

import java.security.cert.X509Certificate;
import javax.net.SocketFactory;
import javax.net.ssl.KeyManager;

import javax.net.ssl.SSLContext;

import javax.net.ssl.TrustManager;

import javax.net.ssl.TrustManagerFactory;

import javax.net.ssl.X509KeyManager;
import org.apache.commons.httpclient.ConnectTimeoutException;

import org.apache.commons.httpclient.params.HttpConnectionParams;
import org.apache.commons.httpclient.protocol.ProtocolSocketFactory;

public class SocketFactoryDinamico implements ProtocolSocketFactory {  
    private SSLContext ssl = null;  
    private X509Certificate certificate;  
    private PrivateKey privateKey;  
    private InputStream fileCacerts;
  
    public SocketFactoryDinamico(X509Certificate certificate,  
            PrivateKey privateKey) {  
        this.certificate = certificate;  
        this.privateKey = privateKey;  
    }  
  
    private SSLContext createSSLContext() {  
        try {  
            KeyManager[] keyManagers = createKeyManagers();  
            TrustManager[] trustManagers = createTrustManagers();  
            SSLContext sslContext = SSLContext.getInstance("TLS");  
            sslContext.init(keyManagers, trustManagers, null);  
  
            return sslContext;  
        } catch (KeyManagementException e) {  
            error(e.toString());  
        } catch (KeyStoreException e) {  
            error(e.toString());  
        } catch (NoSuchAlgorithmException e) {  
            error(e.toString());  
        } catch (CertificateException e) {  
            error(e.toString());  
        } catch (IOException e) {  
            error(e.toString());  
        }  
        return null;  
    }  
  
    private SSLContext getSSLContext() {  
        if (ssl == null) {  
            ssl = createSSLContext();  
        }  
        return ssl;  
    }  
  
    public Socket createSocket(String host, int port, InetAddress localAddress,  
            int localPort, HttpConnectionParams params) throws IOException,  
            UnknownHostException, ConnectTimeoutException {  
        if (params == null) {  
            throw new IllegalArgumentException("Parameters may not be null");  
        }  
        int timeout = params.getConnectionTimeout();  
        SocketFactory socketfactory = getSSLContext().getSocketFactory();  
        if (timeout == 0) {  
            return socketfactory.createSocket(host, port, localAddress,  
                    localPort);  
        }  
  
        Socket socket = socketfactory.createSocket();  
        SocketAddress localaddr = new InetSocketAddress(localAddress, localPort);  
        SocketAddress remoteaddr = new InetSocketAddress(host, port);  
        socket.bind(localaddr);  
        try {  
            socket.connect(remoteaddr, timeout);  
        } catch (Exception e) {  
            error(e.toString());  
            throw new ConnectTimeoutException("Poss&#65533;vel timeout de conex&#65533;o", e);  
        }  
  
        return socket;  
    }  
  
    public Socket createSocket(String host, int port, InetAddress clientHost,  
            int clientPort) throws IOException, UnknownHostException {  
        return getSSLContext().getSocketFactory().createSocket(host, port,  
                clientHost, clientPort);  
    }  
  
    public Socket createSocket(String host, int port) throws IOException,  
            UnknownHostException {  
        return getSSLContext().getSocketFactory().createSocket(host, port);  
    }  
  
    public Socket createSocket(Socket socket, String host, int port,  
            boolean autoClose) throws IOException, UnknownHostException {  
        return getSSLContext().getSocketFactory().createSocket(socket, host,  
                port, autoClose);  
    }  
  
    public KeyManager[] createKeyManagers() {  
        HSKeyManager keyManager = new HSKeyManager(certificate, privateKey);  
  
        return new KeyManager[] { keyManager };  
    }  
  
    public TrustManager[] createTrustManagers() throws KeyStoreException,  
            NoSuchAlgorithmException, CertificateException, IOException {  
        KeyStore trustStore = KeyStore.getInstance("JKS");  
  
        trustStore.load(fileCacerts, "changeit".toCharArray());  
        TrustManagerFactory trustManagerFactory = TrustManagerFactory  
                .getInstance(TrustManagerFactory.getDefaultAlgorithm());  
        trustManagerFactory.init(trustStore);  
        return trustManagerFactory.getTrustManagers();  
    }  
  
    class HSKeyManager implements X509KeyManager {  
  
        private X509Certificate certificate;  
        private PrivateKey privateKey;  
  
        public HSKeyManager(X509Certificate certificate, PrivateKey privateKey) {  
            this.certificate = certificate;  
            this.privateKey = privateKey;  
        }  
  
        public String chooseClientAlias(String[] arg0, Principal[] arg1,  
                Socket arg2) {  
            return certificate.getIssuerDN().getName();  
        }  
  
        public String chooseServerAlias(String arg0, Principal[] arg1,  
                Socket arg2) {  
            return null;  
        }  
  
        public X509Certificate[] getCertificateChain(String arg0) {  
            return new X509Certificate[] { certificate };  
        }  
  
        public String[] getClientAliases(String arg0, Principal[] arg1) {  
            return new String[] { certificate.getIssuerDN().getName() };  
        }  
  
        public PrivateKey getPrivateKey(String arg0) {  
            return privateKey;  
        }  
  
        public String[] getServerAliases(String arg0, Principal[] arg1) {  
            return null;  
        }  
    }  
  
    public void setFileCacerts(InputStream fileCacerts) {
        this.fileCacerts = fileCacerts; 
        System.setProperty("javax.net.ssl.trustStoreType", "JKS");  
        System.setProperty("javax.net.ssl.trustStore", "C:/Certificados/nfe-cacerts");  
	
    }  
  
    /** 
     * Log Error. 
     * @param log 
     */  
    private static void error(String log) {  
        System.out.println("ERROR: " + log);  
    }  
  
}
M

Bom dia.
Dúvida:

Uma nfe tem pode ter vários produtos diferentes , minha tabela não tem nenhum vinculo com a tabela de produtos da gnre.
Como faço esse processo na qual a nfe tem ex: 2 produtos diferentes e o código não e o mesmo da tabela de produtos da gnre?

T

moncerra:
mbrocco:
Olá pessoal, estou desenvolvendo essa integração da GNRE também Online e está me ocorrendo o seguinte erro :

System.Web.Services.Protocols.SoapException: java.rmi.RemoteException: Erro ao gerar XML de resposta em System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)

Se alguém puder me ajudar fico agradecido.

Cara você conseguiu resolver esse caso?
Obrigado.

Bom dia pessoal.
Ressuscitando a dúvida, queria saber se alguem resolveu esse problema utilizando a consulta de lote da GNRE?

Exception in thread "main" org.apache.axis2.AxisFault: java.rmi.RemoteException: Erro ao gerar XML de resposta at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531) at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:375) at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:421) at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229) at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165) at br.gov.pe.gnre.www.webservice.gnreresultadolote.GnreResultadoLoteStub.consultar(GnreResultadoLoteStub.java:197) at br.com.amazonas.gnrepe.teste.GeraXMLConsultaLote.main(GeraXMLConsultaLote.java:68) Java Result: 1

Agradeço desde já!

P

Galera alguém sabe sobre a impressão das guias se podemos criar nosso proprio layout, podemos fazer o pagamento da guia e colocar a autenticação bancaria na guia como o Banco do Brasil fazia?

A

Bom dia Pessoal, sou novo no assunto de SSL Conection, e estou com um problema que não encontro a solução, em vários foruns vi esse erro mas na resposta as pessoas colocam que resolveram só não colocam como…

Bom direto ao assunto o erro é:
Connection has been shutdown: javax.net.ssl.SSLHandshakeException: Received fatal alert: bad_certificate

Já coloquei toda cadeia de certificados no meu cacerts, do link de homologação e de produção. defini os certificados como confiáveis no meu windows, utilizo Java 1.8.0_51, segui os passos que encontrei em alguns foruns para reativar a conexão SSLv3, mas esse “Certificado do mau” continua a me atrapalhar, alguém passou por isso, como resolveu?

Agradeço a ajuda.

M

Galera, estou desenvolvendo a integração com o webservice do sefaz para emitir a gnre, porém, quando tenta-se efetuar a conexão recebo “bad_certificate”, alguém tem noção do que pode ser?
Obs: Meu certificado está na trust store, gerei os cacerts corretamente conforme outros tópicos lidos, e assim por diante, porém, não consigo fazer a comunicação
Agradeço desde já

M

Boa tarde Thiago,

O meu é certisign você sabe me dizer como descubro a cadeia de certificado dele.

T

Opa,

você precisa instalar o certificado em sua máquina, ai ao pesquisar e ver os detalhes dele você consegue rastrear toda a cadeia…
Para cada certificado da cadeia, você precisa exportar o arquivo como BASE 64 e no momento da conexão enviar todos eles no parametro de CA.

Criado 17 de setembro de 2012
Ultima resposta 10 de jul. de 2018
Respostas 89
Participantes 18