TECNOLOGIA - Função HTTP - Erro ao executar requisição HTTP (GET): [EIdHTTPProtocolException] 406 Not Acceptable.
Incidente
Nas rotinas da Tecnologia, ao utilizar funções HTTP (HTTPGet, HTTPPost, entre outras), é retornada a mensagem
Erro ao executar requisição HTTP (GET):
[EIdHTTPProtocolException] 406 Not Acceptable.
Detalhes:
Classe da exceção: EIdHTTPProtocolException.
Causa
Este incidente está relacionado a definição de cabeçalhos aceitos (accept-headers) pelo servidor ou pela aplicação cliente.
Solução
Para tratar essa mensagem é necessário utilizar a função HttpAlteraCabecalhoRequisicao e definir informações de accept-header adequados na solicitação que será enviada ao servidor.
As informações de header podem variar de acordo com o que é esperado pelo servidor para o qual está sendo efetuada a chamada HTTP.
Exemplo de uma chamada em uma regra com tratamento do header onde está sendo definido que o cliente aceita qualquer formato de resposta:
Definir alfa vHTTP;
Definir alfa aLoginUri;
Definir alfa aToken;
HttpObjeto(vHTTP);
aLoginUri = "https://servidor/api/autenticar/";
HttpAlteraCabecalhoRequisicao(vHTTP, "Accept", "*/*");
HttpGet(vHTTP, aLoginUri, aToken);
Para maiores informações sobre headers, consulte List of HTTP header fields.