我开始绝望了。我有一个Web服务,它在我的localhost中很好地连接,我有相同的allow_url_fopen = Off,extensions = php_openssl.dll已启用但新服务器上的那个无法连接到SoapClient仍然会出现此错误:
SoapFault异常:[WSDL] SOAP-ERROR:解析WSDL:无法加载 来自'https://xxx.xxx.xxx/wssupport/xxxx.asmx?wsdl':无法加载 外部实体“https://xxx.xxx.xxx/wssupport/xxxx.asmx?wsdl”in /home/report/public_html/test.php:4堆栈跟踪:#0 /home/report/public_html/test.php(4): SoapClient-> SoapClient('https://xxx ...',数组)#1 {main}
网络服务已通过许多应用程序运行,服务器已在线托管多个网站,因此它100%连接到互联网,所以它应该没有错。 我的apache和php版本:
必要时Apache / 2.4.12和PHP / 5.5.22
我的代码:
<?php
$wsurl="https://xxx.xxx.xxx/xxx/xxx.asmx?wsdl";
try {
$client = new SoapClient($wsurl,array('trace' => 1, 'exception' => 0, 'cache_wsdl' => 0));
$token=($client->SLogin(array("username"=>'test', "password" =>'test',"appcode"=>'test',"appversion"=>'test'))->SLoginResult);
echo $token;
} catch (SoapFault $exception) {
echo $exception;
}
?>
我想知道PHP中实际上所有的设置和要求是什么来调用SoapClient?