【发布时间】:2012-09-11 15:37:44
【问题描述】:
我正在尝试使用 PHP SOAP 客户端使用 SOAP 服务,但它失败并显示以下消息:
SoapFault: SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://domain.com/webservice.asmx?wsdl' : failed to load external entity "https://domain.com/webservice.asmx?wsdl"\n in /Users/andrewdchancox/Projects/test/testsoap.php on line 10
我已经下载了 wsdl 文件并从本地 apache 实例提供了它,它加载时没有任何问题。我唯一能想到的可能是 Web 服务正在使用自签名证书通过 SSL 运行 - 当我获取 wsdl 时,我收到以下错误:
--2012-09-11 16:28:39--
https://domain.com/webservice.asmx?wsdl
Resolving domain.com (domain.com)... 11.111.111.11
Connecting to domain.com (domain.com)|11.111.111.11|:443... connected.
ERROR: The certificate of ‘domain.com’ is not trusted.
ERROR: The certificate of ‘domain.com’ hasn't got a known issuer.
我搜索并彻底阅读了 PHP SOAP 客户端的 PHP 文档 - http://php.net/manual/en/class.soapclient.php 和它的构造函数 - http://www.php.net/manual/en/soapclient.soapclient.php,但没有找到任何帮助。
有人有什么想法吗?
【问题讨论】:
-
这个问题很久以前就解决了 - 我今天一直在使用另一个 SOAP 服务,它在同一个开发环境中通过 SSL 运行,并且一切正常。
-
@AndrewHancox:你是如何解决你的问题的?我遇到了同样的问题。