Ir para conteúdo
  • Cadastre-se

dev botao

NFSe Padrão Nacional - Erro no Tratamento de Retorno de Consulta de Evento


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

Recommended Posts

  • Membros Pro
Postado

Boa tarde,

Estamos tendo o erro "data error", print em anexo. Também anexo o XML retornado.

Ocorre ao executar o método ACBrNFSeX1.ConsultarEvento(. Debugando verifiquei que a consulta é processada normalmente e retorna um XML, mas no TACBrNFSeProviderPadraoNacional.TratarRetornoConsultarEvento(, linha 869 da PadraoNacional.Provider.pas, ou seja, ao executar ArquivoXml := DeCompress(DecodeBase64(ArquivoXml)), acontece o erro.

Aí não sei se pode ser alguma falha no componente ou se o XML está retornando com dados corrompidos.

Obrigado! 

temp2.xml temp2.xml

Valdir Dill

Rio de Janeiro - RJ

 

 

  • Membros Pro
Postado
26 minutos atrás, Valdir Dill disse:

Boa tarde,

Estamos tendo o erro "data error", print em anexo. Também anexo o XML retornado.

Ocorre ao executar o método ACBrNFSeX1.ConsultarEvento(. Debugando verifiquei que a consulta é processada normalmente e retorna um XML, mas no TACBrNFSeProviderPadraoNacional.TratarRetornoConsultarEvento(, linha 869 da PadraoNacional.Provider.pas, ou seja, ao executar ArquivoXml := DeCompress(DecodeBase64(ArquivoXml)), acontece o erro.

Aí não sei se pode ser alguma falha no componente ou se o XML está retornando com dados corrompidos.

Obrigado! 

temp2.xml 8.8 kB · 0 downloads temp2.xml 8.8 kB · 0 downloads

Desculpem, anexei duas vezes o XML e não anexei o erro, rs.

Agora vai o print do erro.

acbr.png

Valdir Dill

Rio de Janeiro - RJ

 

 

  • Consultores
Postado

Bom dia Valdir,

O problema é o seguinte:

O Consultar Evento existem 3 formas diferentes de realizar essa consulta.

1. Consultar informando somente a chave da NFS-e, esta consulta esta funcionando sem nenhum problema, retorna e salva o XML do evento.

2. Consultar informando a chave e o código do evento desejado, esta consulta não é realizada retornando um erro 404.

3. Consultar informando a chave, o código e o numero sequencial do evento, esta consulta esta funcionando em partes, pois quando o componente tenta descompactar o XML após ter sido decodificado em base 64 ocorre o erro de Data Error.

Descobrimos que o XML foi codificado em base 64 duas vezes, note que existe uma linha comentada que chama a função DecodeBase64 duas vez, se você comentar a linha acima e descomentar a outra, vai ver que vai funcionar.

Mas lembre-se que se fizer essa alteração a primeira forma de consulta vai parar de funcionar.

Já reportei o problema para o pessoal que cuida da API, agora é aguardar eles fazerem as devidas correções.

  • 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

  • Membros Pro
Postado
34 minutos atrás, Italo Giurizzato Junior disse:

Bom dia Valdir,

O problema é o seguinte:

O Consultar Evento existem 3 formas diferentes de realizar essa consulta.

1. Consultar informando somente a chave da NFS-e, esta consulta esta funcionando sem nenhum problema, retorna e salva o XML do evento.

2. Consultar informando a chave e o código do evento desejado, esta consulta não é realizada retornando um erro 404.

3. Consultar informando a chave, o código e o numero sequencial do evento, esta consulta esta funcionando em partes, pois quando o componente tenta descompactar o XML após ter sido decodificado em base 64 ocorre o erro de Data Error.

Descobrimos que o XML foi codificado em base 64 duas vezes, note que existe uma linha comentada que chama a função DecodeBase64 duas vez, se você comentar a linha acima e descomentar a outra, vai ver que vai funcionar.

Mas lembre-se que se fizer essa alteração a primeira forma de consulta vai parar de funcionar.

Já reportei o problema para o pessoal que cuida da API, agora é aguardar eles fazerem as devidas correções.

Bom dia,

Entendi. Mas, na verdade, nenhuma das 3 consultas está funcionando aqui.

Se consulto com chave + código de evento + sequencial, dá esse erro ("data error") que reportei inicialmente.

Se consulto somente com a chave + código do evento (sem o sequencial), ocorre o erro do print que estou anexando agora.

Se consulto somente com a chave, aí não da erro de processamento, ou seja "Sucesso" vem true, mas o XML (temp2.xml)  traz apenas isto { "message": "The requested resource does not support http method 'GET'."}. no seu conteúdo. 

 

consultaChaveECodigoEento.png

Valdir Dill

Rio de Janeiro - RJ

 

 

  • Consultores
Postado

Valdir,

Mas nesse arquivo não tem nada mesmo.

O Padrão Nacional retorna um Json, com meia dúzia de objetos, sendo que um deles é o XML do evento que pela documentação é para estar compactado e decodificado em base 64.

Se você quer ver esse XML, precisa configurar o componente para salvar os arquivos em disco.

Configuracoes.Arquivos.Salvar := True.

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
6 horas atrás, Italo Giurizzato Junior disse:

Valdir,

Mas nesse arquivo não tem nada mesmo.

O Padrão Nacional retorna um Json, com meia dúzia de objetos, sendo que um deles é o XML do evento que pela documentação é para estar compactado e decodificado em base 64.

Se você quer ver esse XML, precisa configurar o componente para salvar os arquivos em disco.

Configuracoes.Arquivos.Salvar := True.

Sim, está habilitado. (Configuracoes.Arquivos.Salvar := True) É justamente por isso que o demo gera esse temp2.xml. Veja no print o que o demo mostra na aba "XML de REtorno". image.thumb.png.20e59ad67bedfbea673a59ea75ea4c62.png

Valdir Dill

Rio de Janeiro - RJ

 

 

  • Consultores
Postado

Bom dia Valdir,

O programa exemplo salva os arquivos temp1.xml e temp2.xml independente dessa propriedade de configuração.

Eu já lhe disse que o retorno da API da NFS-e Padrão Nacional retorna um json.

O programa exemplo não esta preparado para mostrar na aba de Retorno o conteúdo do json.

Isso explica esse erro.

Como você consultou um evento, favor procurar na pasta que você configurou para salvar os XML.

Ele deve ter criado uma pasta chamada: Eventos e salvo o XML do evento que foi retornado dentro dessa pasta.

  • 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

  • Membros Pro
Postado
3 horas atrás, Italo Giurizzato Junior disse:

Bom dia Valdir,

O programa exemplo salva os arquivos temp1.xml e temp2.xml independente dessa propriedade de configuração.

Eu já lhe disse que o retorno da API da NFS-e Padrão Nacional retorna um json.

O programa exemplo não esta preparado para mostrar na aba de Retorno o conteúdo do json.

Isso explica esse erro.

Como você consultou um evento, favor procurar na pasta que você configurou para salvar os XML.

Ele deve ter criado uma pasta chamada: Eventos e salvo o XML do evento que foi retornado dentro dessa pasta.

Boa tarde,

Não sei se estou fazendo algo errado, mas aqui não está salvando os XML dos eventos na pasta que indico para salvamento. Salva esses 2 arquivos abaixo, mas .json. Isso na consulta de evento usando apenas a chave.

- 31056082203424804000106000000000000623099306124149-eve.json
- 31056082203424804000106000000000000623099306124149-con-eve.json

Já na consulta de eventos usando a chave e o código de evento (e101101), dá erro -> Expected "{" but found invalid symbol (1,2) 

 

Valdir Dill

Rio de Janeiro - RJ

 

 

  • Membros Pro
Postado
4 minutos atrás, Italo Giurizzato Junior disse:

Boa tarde Valdir,

Isso na sua aplicação e no programa exemplo?

No demo.

O 31056082203424804000106000000000000623099306124149-eve.xml anexo é o que é gerado na pasta quando se consulta pela chave + código do evento. Também ocorre o erro do arquivo ErroChaveCodEvento.png anexo. Também gera o 31056082203424804000106000000000000623099306124149-con-eve.json (anexo).

ErroChaveCodEvento.png

31056082203424804000106000000000000623099306124149-con-eve.json 31056082203424804000106000000000000623099306124149-eve.xml

Valdir Dill

Rio de Janeiro - RJ

 

 

  • Consultores
Postado

Valdir,

Você leu a minha postagem acima (sexta-feira) onde eu digo que essa consulta por ser realizada de 3 formas diferentes e somente a primeira esta funcionando como tem que ser, as outras duas estão com problemas na API?

E você vai justamente testar uma que não esta funcionando direito.

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
4 horas atrás, Valdir Dill disse:

Boa tarde,

Não sei se estou fazendo algo errado, mas aqui não está salvando os XML dos eventos na pasta que indico para salvamento. Salva esses 2 arquivos abaixo, mas .json. Isso na consulta de evento usando apenas a chave.

- 31056082203424804000106000000000000623099306124149-eve.json
- 31056082203424804000106000000000000623099306124149-con-eve.json

Já na consulta de eventos usando a chave e o código de evento (e101101), dá erro -> Expected "{" but found invalid symbol (1,2) 

 

Sim Italo eu li seu post. Na verdade li, reli e reli de novo, rs. Justamente para não postar algo errado aqui, rs.

Mas acho que você não viu meu post direito (ou então estou ficando doido, rs).

Veja aí no primeiro parágrafo que eu falo da consulta do evento usando apenas a chave.  Essa consulta, naquele seu post, diz que está funcionando tudo ok, mas aqui não está.

Essa última linha que coloquei dizendo que dá esse erro é uma outra consulta que só relatei pois nessa o componente gera o xml, mas dá o erro. Só incluí esse relato para demonstrar que estou fazendo pelo demo do acbr e que setei corretamente a pasta de salvamento.

Mas vamos esquecer essa consulta que dá erro então. Vamos nos ater apenas a primeira parte desta minha resposta anterior, ou seja, da consulta de evento apenas com a chave (sem código de evento e sem a sequência). Nessa consulta, o sistema salva apenas esses 2 arquivos .json que mencionei. Nenhum XML é salvo, entende?  

Valdir Dill

Rio de Janeiro - RJ

 

 

  • Consultores
  • Solution
Postado

Boa tarde Valdir,

Eu não sei o que o pessoal da SERPRO fez que ferram com a API.

Neste momento refiz os testes de consulta a eventos e tive o seguinte resultado.:

Consultar o Evento informando somente a chave da NFS-e:

Retorno:

{
  "message": "The requested resource does not support http method 'GET'."
}

Consultar o Evento informando a chave da NFS-e e o tipo de evento:

Retorno:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<title>404 - File or directory not found.</title>
<style type="text/css">
<!--
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
fieldset{padding:0 15px 10px 15px;} 
h1{font-size:2.4em;margin:0;color:#FFF;}
h2{font-size:1.7em;margin:0;color:#CC0000;} 
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;} 
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
background-color:#555555;}
#content{margin:0 0 0 2%;position:relative;}
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
-->
</style>
</head>
<body>
<div id="header"><h1>Server Error</h1></div>
<div id="content">
 <div class="content-container"><fieldset>
  <h2>404 - File or directory not found.</h2>
  <h3>The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.</h3>
 </fieldset></div>
</div>
</body>
</html>

Consultar o Evento informando a chave da NFS-e, o tipo de evento e o numero sequencial:

Retorno:

Requisição
Ambiente: 1
Cidade  : Araraquara/SP
Provedor: PadraoNacional Versão: 1.00
 
Método Executado: ConsultarEvento
 
Parâmetros de Envio
Chave NFSe      : 35032082229406475000164000000000000723082502962484
Evento          : Cancelamento de NFS-e
Num. Seq. Evento: 0
 
Parâmetros de Retorno
Chave NFSe      : 350320822xxxxxxxxxxxxxx000000000000723082502962484
Data            : 29/08/2023
Tipo Evento     : Cancelamento de NFS-e
Num. Seq. Evento: 0
ID do Evento    : 350320822xxxxxxxxxxxxxx000000000000723082502962484101101001
Sucesso         : True
 
Resumo(s):
Chave DFe: 350320822xxxxxxxxxxxxxx000000000000723082502962484
Tipo Doc.: Evento de Cancelamento de NFS-e

Favor atualizar todos os fontes de todas as pastas, reinstale o ACBr e faça os testes usando o programa exemplo do componente ACBrNFSeX.

  • 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

×
×
  • 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.

The popup will be closed in 10 segundos...