Rumah > Artikel > pembangunan bahagian belakang > Mengapa Klien PHP SOAP Saya Tidak Boleh Mengakses Fail WSDL Saya?
SOAP PHP Fault Parsing WSDL: Gagal Memuatkan Entiti Luar
Apabila cuba menggunakan klien PHP SOAP, anda mungkin menghadapi perkara berikut ralat:
SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://localhost/MyRegistration/login.xml' : failed to load external entity "http://localhost/MyRegistration/login.xml"
Penjelasan:
Ralat ini menunjukkan bahawa klien SOAP anda tidak dapat mengakses fail WSDL daripada URL yang ditentukan. WSDL (Bahasa Penerangan Perkhidmatan Web) ialah dokumen yang menerangkan fungsi, operasi dan jenis data perkhidmatan web. Memuatkan fail WSDL adalah penting untuk pelanggan SOAP memahami dan berkomunikasi dengan perkhidmatan web.
Punca Kemungkinan:
Penyelesaian:
1. Semak Ketepatan URL:
Semak dua kali URL yang diberikan kepada pembina SoapClient. Pastikan ia termasuk kedua-dua protokol (cth., "http://") dan nama fail yang betul (cth., "login.wsdl").
2. Selesaikan Isu Rangkaian:
Sahkan bahawa pelayan yang mengehos fail WSDL berada dalam talian dan tiada akses menyekat tembok api daripada klien anda.
3. Laraskan Tetapan Keselamatan:
Jika anda berada dalam persekitaran rangkaian yang terhad, anda mungkin perlu melaraskan tetapan keselamatan untuk membenarkan entiti luaran dimuatkan. Ini selalunya boleh dilakukan dengan mengubah suai fail konfigurasi PHP anda, seperti "php.ini," dan tetapan allow_url_fopen = On.
Maklumat Tambahan:
Atas ialah kandungan terperinci Mengapa Klien PHP SOAP Saya Tidak Boleh Mengakses Fail WSDL Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!