すべてのプロダクト
Search
ドキュメントセンター

:Simple Message Queue (旧称:MNS) の PHP HttpEndpoint でメッセージ本文を受信できない

最終更新日:Sep 04, 2026

問題の説明

Simple Message Queue (旧称:MNS) で PHP スクリプトを HttpEndpoint として使用すると、メッセージ本文を受信できません。

原因

この問題は、PHP スクリプトが HTTP ボディの取得に $_POST[] メソッドを使用していることが原因です。$_POST[] メソッドが受け入れるのは、以下のコンテンツタイプでフォームから送信されたデータのみです。

  • application/x-www-form-urlencoded

ただし、MNS プッシュリクエストは、以下の 3 つのコンテンツタイプのみをサポートします。

  • text/xml;charset=utf-8

  • text/plain;charset=utf-8

  • application/json;charset=utf-8

解決策

PHP コードを確認し、$_POST[] メソッドを使用して HTTP ボディを取得している場合は、次のようにコードを変更します。

file_get_contents("php://input");
説明

このメソッドを使用すると、生の POST データを読み取ることができます。このメソッドは、さまざまなコンテンツタイプの POST データに対応しています。また、コンテンツタイプが指定されていない場合に生データを取得する際にも使用できます。

関連ドキュメント

HttpEndpoint インターフェース仕様