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");
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.