SOAP-ERROR:解析WSDL:can';无法从本地文件加载
我有一个WSDL文件,它位于我的服务器中,我在SoapClient中经常使用这个文件SOAP-ERROR:解析WSDL:can';无法从本地文件加载,soap,wsdl,Soap,Wsdl,我有一个WSDL文件,它位于我的服务器中,我在SoapClient中经常使用这个文件 $client = new \SoapClient(dirname(__FILE__) . DIRECTORY_SEPARATOR . self::$url, array( 'connection_timeout' => 180, 'verifypeer' => false, 'verifyhost'
$client = new \SoapClient(dirname(__FILE__) . DIRECTORY_SEPARATOR . self::$url, array(
'connection_timeout' => 180,
'verifypeer' => false,
'verifyhost' => false,
'soap_version' => SOAP_1_2,
'stream_context' => stream_context_create(['ssl' => [
'verify_peer' => FALSE,
'verify_peer_name' => FALSE,
'allow_self_signed' => TRUE
]])
));
它按预期工作,但有时它仍然给我这个错误
SOAP-ERROR:解析WSDL:无法从“/var/www/public\u html/laravel/app/Classes/orders\u internal.WSDL”加载:未能加载外部实体“/var/www/public\u html/laravel/app/Classes/orders\u internal.WSDL”
直到我重新启动服务器,它才会恢复工作
你知道我错过了什么吗
关于我也有这个问题。我有一个流程,其中我必须对一个soap api进行5次不同的调用(在同一执行中) 只有最后一次呼叫出现错误:
SOAP-ERROR: Parsing WSDL: Couldn't load from /var/www/html/SomFile.wsdl failed to load external entity.
在上次调用之前,我意识到禁用加载外部实体是一种逻辑:
libxml_disable_entity_loader(true);
确保没有逻辑禁止在代码的某些部分加载外部实体
请务必注意,libxml_disable_entity_loader()将被弃用:
警告
This function has been DEPRECATED as of PHP 8.0.0. Relying on this function is highly discouraged.
我似乎在使用本地WSDL文件时遇到了这个问题。你设法解决了吗@Mohammed Taha?