在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
异常:Message:SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://*****?wsdl' : failed to load external entity "http://****?wsdl"。
本地调用接口正常,放到服务器上以后,出现了500错误。try{}cache(){}:
try{
$client=new SoapClient($wsdl); }catch(Exception $e){ echo 'Message:'.$e->getMessage(); } 抛出异常:Message:SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://*****?wsdl' : failed to load external entity "http://****?wsdl"。
首先确认,服务器PHP环境配置和本地一样。也百度了很多解决办法,都没起作用,请教了接口的开发者.NET 工程师。发给一张截图:
解决办法:$client=new SoapClient($wsdl);这句代码前添加libxml_disable_entity_loader(false); 问题就这样解决了。
查libxml_disable_entity_loader()作用: Disable the ability to load external entities(禁用加载外部实体的能力)。
SoapClient在我的代码里面确实是外部的实体,我不禁用加载外部实体的能力,就可以实例化SoapClient。问题也就自然而然的解决了。
PHP调用Web services接口实例: $url='http://****?wsdl'; $client = new SoapClient($url); 方法1: 方法2: $ret2 = $client->functionname($param); return $arr; |
2022-08-17
2022-07-18
2022-11-06
2022-08-17
2022-07-30
请发表评论