Estou emitindo várias notas fiscais de serviços e a cada 4 ou 5 notas, quando vou recuperar os dados da nota emitida, recebo o erro: ‘Error receiving data: (12002) O tempo limite da operação foi atingido’.
Como evitar ou contornar esse problema?
Estou emitindo várias notas fiscais de serviços e a cada 4 ou 5 notas, quando vou recuperar os dados da nota emitida, recebo o erro: ‘Error receiving data: (12002) O tempo limite da operação foi atingido’.
Como evitar ou contornar esse problema?
Esse erro é simplesmente um erro de timeout. Pode ser alguma lentidão na sua comunicação com o servidor, ou o tempo de timeout que você configurou pode estar muito baixo.
Como alterar o tempo timeout?
Essa mensagem aparece após cerca de 10 segundos após solicitar os dados da NF, então acho que o padrão deve ser 10 segundos.
Qual é um tempo “seguro” para o timeout de modo a evitar esse erro?
@samuel1
Aqui adotamos 10 segundos com o NuvemFiscal, e historicamente funciona bem.
Outros serviços têm prazos diferentes, chegando a 60 segundos.
Esta alteração é feita no software que você está utilizando.
Em nosso caso, somos o próprio desenvolvedor da nossa ferramenta, então fizemos nós mesmos esta atualização.
Você pode informar qual endpoint exatamente está retornando esse erro?
Pergunto isso porque a emissão de NFS-e na Nuvem Fiscal é processada de forma assíncrona. O endpoint de envio/emissão apenas registra o pedido e retorna rapidamente, enquanto o processamento junto à prefeitura ou ambiente nacional ocorre após a sua requisição ter sido respondida.
Dessa forma, um timeout de 10 segundos deveria ser mais do que suficiente para o endpoint de emissão em si.
Os dados da nota de serviços que deve ser emitida são enviados através do EmitirNfsDps:
Nfse := Client.Nfse.EmitirNfseDps(PedidoEmissao);
A rotina aguarda 15 segundos para que dê tempo da nota ser emitida e depois solicita os dados da nota fiscal usando o ListarNfse:
Sleep(15000);
Notas := Client.Nfse.ListarNfse(1, 0, False, '<CNPJ>', <referência>, <ambiente>, '', '');
É no ListarNfse que ocorre o erro 12002 (como eu disse, a cada 4 ou 5 notas recebo o erro de timeout).
Você poderia reproduzir essa requisição ao endpoint de listagem pelo Postman (ou outro rest client), verificar os tempos de resposta e nos informar, por gentileza?
Posso, mas não sei como fazer. ![]()
Por favor, envie um programa de exempo.