Tecnologia - Função HTTP - Erro ao executar requisição HTTP (GET): [EldHTTPProtocololExecption] HTTP/1.1 301 Moved Permanently
Incidente
Nas rotinas da Tecnologia, ao utilizar funções HTTP (HTTPGet, HTTPPost, entre outras), é retornada a mensagem
Erro ao executar requisição HTTP (GET):
[EldHTTPProtocololExecption] HTTP/1.1 301 Moved Permanently
Causa
Este incidente está relacionado a um redirecionamento que o servidor da requisição faz para a URL de comunicação que foi definida na regra.
Solução
Para tratar essa mensagem é necessário utilizar a função HttpAlteraRedirecionamento e definir que o objeto HTTP aceita redirecionamento.
Essa chamada da função HttpAlteraRedirecionamento deve ser realizada antes da chamada da função que de fato fará a requisição ao servidor HTTP (exemplo: função HttpDownload)
Exemplo de uma chamada em uma regra com tratamento do redirecionamento enviado pelo servidor.
Definir Alfa vHTTP;
Definir alfa alink;
HttpObjeto(vHTTP);
alink = "https://servidor/arquivo/teste.pdf";
HttpAlteraRedirecionamento(vHTTP,1);
HttpDownload(vHTTP, aLink, "C:\\Temp\\teste.pdf");
Observação:
Para utilizar a função HttpAlteraRedirecionamento pode ser necessário habilitar a opção 'Habilitar uso de rotinas', na aba Conexões de rede, sub-aba Envio de e-mail, seção Requisições REST no SeniorConfgCenter, conforme imagem abaixo.
Ao alterar essa configuração, é necessário reiniciar todo o ambiente do ERP Senior.