Masalah
Anda tidak dapat menerima body HTTP saat menulis operasi HttpEndpoint dalam PHP.
Penyebab
Hal ini kemungkinan disebabkan oleh penggunaan metode $_POST[] dalam program PHP untuk mendapatkan body HTTP (HttpBody). Metode $_POST[] hanya dapat menerima data dengan tipe konten berikut, yang dikirim melalui permintaan POST dari formulir:
application/x-www-form-urlencoded
Permintaan dorongan dari Simple Message Queue (sebelumnya MNS) hanya mendukung tipe konten berikut:
text/xml;charset=utf-8
text/plain;charset=utf-8
application/json;charset=utf-8
Solusi
Periksa apakah kode PHP Anda menggunakan metode $_POST[] untuk mendapatkan body HTTP secara langsung. Jika demikian, kami sarankan Anda beralih ke metode berikut:
file_get_contents("php://input");Metode ini memungkinkan Anda membaca dan mendapatkan data mentah dari permintaan POST. Ini dapat digunakan untuk data POST dengan berbagai tipe konten, bahkan untuk data tanpa tipe yang ditentukan.
Jika masalah tetap ada, Anda dapat mengunjungi Komunitas Alibaba Cloud untuk konsultasi gratis. Untuk informasi lebih lanjut, lihat Komunitas Pengembang.