Ir para conteúdo
  • Cadastre-se

dev botao

Erro http: 500 na geração de Gnre?


Ver Solução Respondido por Italo Giurizzato Junior,
  • Este tópico foi criado há 369 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

Olá Tudo Bem!

Essa semana começou a aparecer um problema na Geração / Envio da GNRE. Eu uso o componente ACBrGNRe. 

E já aconteceu em dois casos um o estado emitente é o CE e a UF favorecida é o RN. E também está acontecendo quando o estado emitente é o AP e a UF favorecida é PA.

Segue em anexo a mensagem apresentada em ambos os casos.

Erro: Erro HTTP: 500 Socket error:  11002 Non Authoritative - host not found

Por Favor o que pode estar ocasionando este erro? Será que precisar atualizar a versão do ACBr? A última atualização minha foi em julho.

Teve alguma alteração nos schemas? 

Desde já Muito Obrigado pela Ajuda e Atenção!

Obrigado!

erro_http500_CExRN.jpeg

ERRO_http500_APxPA.jpeg

  • Consultores
  • Solution
Postado

Boa tarde Mauricio,

Você esta usando o ACBrIBGE para obter o nome do município?

Pois a mensagem de erro se refere a consulta aos dados do IBGE.

Na pasta: ...\DLLs\OpenSSL temos varias pastas nomeadas com a versão das DLLs.

Favor utilizar no mínimo a versão 1.1.1.10

Copie as DLLs para dentro da pasta do seu EXE.

  • Curtir 2
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Membros Pro
Postado
Em 13/11/2023 at 16:20, Italo Giurizzato Junior disse:

Boa tarde Mauricio,

Você esta usando o ACBrIBGE para obter o nome do município?

Pois a mensagem de erro se refere a consulta aos dados do IBGE.

Na pasta: ...\DLLs\OpenSSL temos varias pastas nomeadas com a versão das DLLs.

Favor utilizar no mínimo a versão 1.1.1.10

Copie as DLLs para dentro da pasta do seu EXE.

Olá Italo Obrigado pela Ajuda!

Não eu não estou usando o ACBrIBGE para obter o nome do município, eu puxo a informação tanto do nome como do código IBGE do cadastro de cidades no banco de dados.

Os códigos de IBGE estão corretos pois foram usados nas notas autorizadas que estão sendo usadas para gerar as gnres.

Coloquei as DLLS da pasta OpenSSL(data dos arquivos 12/09/2021) na pasta do executável mas o erro persiste mas agora tem hora que ocorre e tem hora que não, e estava observando todas GNREs estão sendo processadas com sucesso pois consultei elas pelo site da sefaz de PE e até gerei as guias por lá. O problema está na hora de gerar a guia no sistema, no momento que não acontece o erro 500 está gerando a guia na tela mas ao fechar está aparecendo o erro 400(segue em anexo) mas parece erro na mesma url do erro 500. 

Segue o trecho do programa em que o erro 500 ocorre:

ACBrGNRE1.GuiasRetorno.Clear;
ACBrGNRE1.GuiasRetorno.LoadFromString(ACBrGNRE1.WebServices.Retorno.GNRERetorno.resGuia.Items[0].XML);
ACBrGNRE1.GuiasRetorno.Imprimir;

E quando passa desse ponto mostra na tela gerado a guia corretamente mas o fechar a guia ele passa pelo próximo trecho é da o erro 400:

for i := 0 to ACBrGNRE1.WebServices.Retorno.GNRERetorno.resGuia.Count -1 do
              MemoDadosGNRE.Lines.Add('Guia salva em: ' + ACBrGNRE1.WebServices.Retorno.GNRERetorno.resGuia[i].NomeArq);
ACBrGNREGuiaRL1.PathPDF:=ACBrGNRE1.Configuracoes.Arquivos.GetPathGNRE(0);
ACBrGNRE1.GuiasRetorno.ImprimirPDF;

Esse erro 400 está acontecendo quando tento Imprimir a Guia com Xml segue o trecho:

  OpenDialog1.Title := 'Selecione a Guia';
  OpenDialog1.DefaultExt := '*-guia.xml';
  OpenDialog1.Filter := 'Arquivos Guia (*-guia.xml)|*-guia.xml|Arquivos XML (*.xml)|*.xml|Todos os Arquivos (*.*)|*.*';
  OpenDialog1.InitialDir := ACBrGNRE1.Configuracoes.Arquivos.PathSalvar;

  if OpenDialog1.Execute then
  begin
    ACBrGNRE1.GuiasRetorno.Clear;
    ACBrGNRE1.GuiasRetorno.LoadFromFile(OpenDialog1.FileName);
    ACBrGNRE1.GuiasRetorno.Imprimir;

  end;

O que será pode estar ocasionando o problema?

Desde já Muito Obrigado pela Ajuda e Atenção!

Muito Obrigado!

erro_400.jpg

tela_7.jpg

  • Consultores
Postado

Boa tarde Mauricio,

O que esta ocorrendo é simples.

No XML que contem as informações da guia só contem o código IBGE do município do emitente, não tem o nome por extenso do município.

Ao ler o XML temos o seguinte trecho:

        GNRERetorno.RazaoSocialEmitente := Leitor.rCampo(tcStr, 'razaoSocial');
        GNRERetorno.EnderecoEmitente    := Leitor.rCampo(tcStr, 'endereco');
        GNRERetorno.MunicipioEmitente   := Leitor.rCampo(tcStr, 'municipio'); <== aqui é lido o código IBGE do município do emitente
        GNRERetorno.UFEmitente          := Leitor.rCampo(tcStr, 'uf');

        xCodUF := IntToStr(ObterCodigoUF(GNRERetorno.UFEmitente));
        codIBGE := StrToIntDef(xCodUF + GNRERetorno.MunicipioEmitente, 0); <== aqui é convertido para um numero integer 

        if (codIBGE > 0) then
          GNRERetorno.MunicipioEmitenteNome := ObterNomeMunicipio(codIBGE, xUF, '', False); < == aqui ocorre o acesso ao webservice do IBGE para obter o nome

        if EstaVazio(GNReRetorno.MunicipioEmitenteNome) then
          GNRERetorno.MunicipioEmitenteNome := GNRERetorno.MunicipioEmitente;  <== se não encontrar o nome deve-se usar o código mesmo.

Se o webservice do IBGE estiver "fora do ar" vai ocorrer erro ao executar a função ObterNomeMunicipio.

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.