Todos os produtos
Search
Central de documentação

:Não é possível receber o corpo da mensagem com um HttpEndpoint PHP no Simple Message Queue (anteriormente MNS)

Última atualização: Sep 06, 2026

Descrição do problema

Você não consegue receber o corpo da mensagem ao usar um script PHP como HttpEndpoint no Simple Message Queue (anteriormente MNS).

Causa do problema

Esse problema ocorre porque o script PHP usa o método $_POST[] para recuperar o corpo HTTP. O método $_POST[] aceita apenas dados enviados de um formulário com o seguinte tipo de conteúdo:

  • application/x-www-form-urlencoded

No entanto, as solicitações de push do MNS suportam apenas os três tipos de conteúdo a seguir:

  • text/xml;charset=utf-8

  • text/plain;charset=utf-8

  • application/json;charset=utf-8

Solução

Verifique seu código PHP. Se ele usar o método $_POST[] para obter o corpo HTTP, altere o código conforme mostrado abaixo:

file_get_contents("php://input");
Nota

Esse método permite ler os dados POST brutos. Ele funciona para dados POST com diferentes tipos de conteúdo e também recupera dados brutos quando nenhum tipo de conteúdo é especificado.

Referências

HttpEndpoint interface specifications