Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Menstruktur Data untuk Panggilan SOAP Menggunakan SoapClient PHP?

Bagaimana untuk Menstruktur Data untuk Panggilan SOAP Menggunakan SoapClient PHP?

Mary-Kate Olsen
Lepaskan: 2024-12-20 02:07:10
asal
779 orang telah melayarinya

How to Structure Data for SOAP Calls Using PHP's SoapClient?

Cara Menstruktur Data untuk Panggilan SOAP Menggunakan Kelas PHP SoapClient

Dalam interaksi perkhidmatan web SOAP, anda sering menghadapi keperluan untuk menghantar data berstruktur sebagai parameter kepada perkhidmatan. Apabila menggunakan kelas SoapClient PHP, memahami cara membina data ini dengan betul adalah penting.

Senario Contoh

Pertimbangkan senario berikut:

  • Anda mempunyai fail WSDL yang menentukan dua fungsi: "FirstFunction" dan "SecondFunction."
  • Anda perlu memanggil "FirstFunction" dan menghantar data berikut:

    • ID Kenalan: 100
    • Nama Kenalan: John
    • Keterangan Umum: Tong Minyak
    • Jumlah: 500

Struktur SoapClient

Kelas SoapClient adalah fleksibel dalam mengendalikan struktur data. Walau bagaimanapun, mematuhi definisi WSDL adalah penting. Menurut WSDL yang diberikan, kaedah "FirstFunction" menjangkakan parameter akan distrukturkan seperti berikut:

struct Contact {
    id id;
    name name;
}

string "string description"
int "int amount"
Salin selepas log masuk

Pelaksanaan Kod

Berdasarkan struktur di atas, kod PHP untuk membuat SOAP panggilan akan be:

$contact = new Contact(100, "John");
$params = array(
    "Contact" => $contact,
    "description" => "Barrel of Oil",
    "amount" => 500
);

$client = new SoapClient("http://example.com/webservices?wsdl");
$response = $client->__soapCall("Function1", array($params));
Salin selepas log masuk

Penyelesaian masalah

  • Ralat "Objek tidak mempunyai sifat Kenalan": Ralat ini berlaku apabila struktur data tidak sepadan dengan definisi WSDL. Pastikan anda telah mencipta objek Kenalan dan memasukkannya sebagai parameter pertama dalam $params.
  • Mesej ralat yang berbeza: Rujuk dokumentasi PHP dan semak kod anda untuk mengesahkan bahawa ia memenuhi struktur data yang dijangkakan untuk perkhidmatan web yang anda panggil.

Atas ialah kandungan terperinci Bagaimana untuk Menstruktur Data untuk Panggilan SOAP Menggunakan SoapClient PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan