Selalunya, pengaturcara bukan Berorientasikan Objek menghadapi cabaran apabila menyepadukan fungsi SOAP ke dalam skrip PHP mereka. Walaupun mempunyai fail WSDL, mereka mungkin bergelut dengan sintaks yang betul untuk menggunakan panggilan SOAP.
Untuk berinteraksi dengan perkhidmatan SOAP sebagai pelanggan, anda boleh menggunakan kelas SoapClient . Mulakan dengan mencipta contoh SoapClient dengan URL fail WSDL:
$client = new SoapClient("http://example.com/webservices?wsdl");
Untuk mendapatkan maklumat tentang fungsi dan jenis yang tersedia, gunakan:
var_dump($client->__getFunctions()); var_dump($client->__getTypes());
Sekarang, mari fokus untuk membina panggilan SOAP itu sendiri. Katakan anda ingin menggunakan fungsi "Function1" dengan data berikut:
Dokumen WSDL menunjukkan bahawa Kenalan ialah jenis kompleks dengan dua sifat: id dan nama.
Untuk membuat panggilan SOAP dengan data yang anda inginkan, anda perlu menggunakan perkara berikut sintaks:
$params = array( "Contact" => new Contact(100, "John"), "description" => "Barrel of Oil", "amount" => 500, ); $response = $client->__soapCall("Function1", array($params));
Kod ini mencipta contoh baharu kelas Kenalan dengan ID dan nama yang ditentukan. Ia kemudian menghimpunkan parameter permintaan ke dalam tatasusunan $params dan memanggil panggilan SOAP menggunakan __soapCall.
Respons daripada perkhidmatan SOAP akan disimpan dalam pembolehubah $response. Anda boleh memeriksa respons untuk mendapatkan hasil panggilan.
Atas ialah kandungan terperinci Bagaimana untuk Menggunakan SoapClient PHP untuk Mengintegrasikan dengan Perkhidmatan Web SOAP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!