【发布时间】:2015-03-22 11:14:43
【问题描述】:
我在 Windows 上使用 XAMPP 并尝试使用 PHP 肥皂扩展 SoapClient。我正在尝试使用以下代码加载托管在 HTTPS 站点中的 WSDL 文件
<?php
$myClient=new SoapClient("https://smi.sp.f-secure.com/smi/5.1/services/EchoService?wsdl");
?>
我收到以下错误:
致命错误:未捕获的 SoapFault 异常:[WSDL] SOAP-ERROR:解析 WSDL:无法从“https://smi.sp.f-secure.com/smi/5.1/services/EchoService?wsdl”加载:无法在 C:\xampp\htdocs\dev 中加载外部实体“https://smi.sp.f-secure.com/smi/5.1/services/EchoService?wsdl” \w3schools\soapClient\index.php:2 堆栈跟踪:
#0 C:\xampp\htdocs\dev\w3schools\soapClient\index.php(2): SoapClient->SoapClient('https://smi.sp....')
#1 {main} 在第 2 行的 C:\xampp\htdocs\dev\w3schools\soapClient\index.php 中抛出
现在我在请求期间进行了网络捕获,发现 HTTPS 通信在 SSL 级别上无法正常工作。 Wireshark 在我的工作站响应的服务器密钥交换上显示一个数据包:
TLSv1 记录层:警报(级别:致命,描述:证书未知)
在同一台计算机上使用 nuSOAP 客户端或 soapUI 实用程序,我能够正常连接到服务。所以我猜没有证书问题。
所以肯定是 SOAP 扩展和 SSL 通信。任何人都可以帮忙吗?提示寻找什么?
【问题讨论】:
-
我不希望 SOAP 对付我最大的敌人。
-
谢谢 Len_D。我的 extension=php_openssl.dll 已启用,OpenSSL 版本为 1.0.1i。它必须与 PHP SOAP 相关,因为当我使用 nuSOAP 时,它能够使用相同的 HTTPS 服务。
-
PHP 上的同样问题 >= 7