Requisição de API com método POST se repete misteriosamente após aproximadamente dois minutos

Olá pessoal, Por um acaso vocês já se depararam com um problema desse: Tenho um servidor Protheus com papel exclusivo de WS RESTful. Nele, desenvolvi algumas APIs com métodos GET e POST. Problema: as requisições de APIs com método POST estão se repetindo misteriosamente, da seguinte forma: Após aproximadamente dois minutos de uma requisição POST, ela se repete uma vez apenas. Tal situação não ocorre no consumo das mesmas APIs com método GET. Suspeito de duas coisas que possam estar ocasionando esta repetição da requisição : 1. problema de thread deste servidor; 2. problema no firewall. Alguém já se deparou com este cenário e poderia compartilhar o que fez pra solucionar?

Olha o mais provável mesmo é que seu cliente esteja fazendo a segunda requisição.

Olá Vinícius,
Fizemos um teste há pouco e no log do firewall verificamos que não houve uma repetição de consumo da API. Pense no mistério!

Um método para investigar esse tipo de situação é subir um outro appserver com rest ativado no mesmo host porém com porta diferente, isso sem desativar o appserver original.

Então você poderá verificar, se mesmo nessa outra porta estiver repetindo a requisição é alguma coisa no próprio host, sistema operacional, antivirus/firewall do host ou até mesmo ambiente e fontes protheus do post que está gerando a repetição do post.

Porém se com outra porta não ocorrer repetição e continuar ocorrendo a repetição no appserver de porta original, então a repetição está ocorrendo no client ou no percurso do client até o host do appserver.

Pelo menos você vai filtrar onde ocorre o problema e a partir daí poderá realizar novos testes para ir filtrando mais a origem do problema.

Olá Josué,
Uma boa ideia! Realizamos isso e o problema se repete. Nestas APIs com método POST, coloquei mensagens com conout() pra saber no log do servidor quando inicia e finaliza tais requisições. Já revimos o código ADVPL e não há problemas nele. E são com tais mensagens via conout() que percebemos mais claramente quando inicia, finaliza e se repete a requisição.
A próxima etapa agora é ver se firewall ou antivirus estão envolvidos neste mistério.

Pessoal, A causa do problema estava em uma regra do firewall. Identificado que o uso de determinada regra com NAT e função de proxy, para restringir as chamadas da API, estava ocasionando estas chamadas em duplicidade.

fica_a_dica