SOAP PHP Fault Parsing WSDL: Gagal Memuatkan Entiti Luar
Apabila cuba mewujudkan sambungan SOAP menggunakan PHP, anda mungkin menghadapi ralat "SOAP-ERROR: Menghuraikan WSDL: Tidak dapat memuatkan daripada [URL] : gagal memuatkan entiti luaran [URL]". Ralat ini menunjukkan bahawa klien SOAP tidak dapat mengakses fail WSDL yang dirujuk dalam pembina klien.
Langkah Penyelesaian Masalah:
<code class="php">$opts = array( 'ssl' => array( 'ciphers' => 'RC4-SHA', 'verify_peer' => false, 'verify_peer_name' => false ) ); $params = array( 'encoding' => 'UTF-8', 'verifypeer' => false, 'verifyhost' => false, 'soap_version' => SOAP_1_2, 'trace' => 1, 'exceptions' => 1, 'connection_timeout' => 180, 'stream_context' => stream_context_create($opts) ); $wsdlUrl = $url . '?WSDL'; $oSoapClient = new SoapClient($wsdlUrl, $params);</code>
Nota: Melumpuhkan pengesahan SSL ialah risiko keselamatan dan tidak boleh digunakan dalam persekitaran pengeluaran.
<code class="php">ini_set("soap.wsdl_cache_enabled", "1"); ini_set("soap.wsdl_cache_ttl", "86400"); // 24 hours</code>
Atas ialah kandungan terperinci Mengapa sambungan PHP SOAP saya gagal dengan \'SOAP-ERROR: Parsing WSDL: Couldn\'t load from [URL] : failed to load external entity [URL]\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!