我正在尝试通过 SSL 创建一个基本的 SOAP 服务器。在我的生产网站上提供 Web 服务之前,我必须在具有自签名证书的开发系统上对其进行测试(现在谁的身份验证是一个问题)。以下是我在这方面面临的问题:
- 当我尝试调用https://zendsoap.lan/Zend_Soap_server.php?wsdl时 ,它工作正常,我可以查看 wsdl。
- 但是当我尝试https://zendsoap.lan/Zend_Soap_server.php时,我得到了这个:
SOAP 错误:解析 WSDL:无法从“ https://zendsoap.lan/Zend_Soap_Server.php?wsdl ”加载:无法加载外部实体“ https://zendsoap.lan/Zend_Soap_Server.php?wsdl ”
这是我应该得到的东西还是一些漂亮的 HTML 页面描述了在 NuSoap 中的 web 服务的使用。
我在开发服务器上运行它时尝试了 verify_peer=>false,因此无需验证我自己创建的证书,但显然在生产中我希望验证证书。这个东西在 NuSoap 上工作得很好,但是 NuSoap 中的大部分东西对于我们运行 PHP 5.4.6 的服务器来说已经被弃用了,所以对我来说使用 PHP 的 SOAP 扩展是最可靠的解决方案。我使用 Zend 的原因是我们正在将我们的系统从某个第三方框架迁移到 Zend 框架,并且每天我都会收到来自客户端的请求以添加这个和那个新组件,我假设如果我开发来自客户端的每个新请求使用 Zend 库之后,我很容易在后期迁移到 Zend 框架。
openssl 已启用并尝试定义 local_cert,但没有 Joy。
我希望我在那里有所了解。
基本上寻找一些说明如何为此目的创建自签名证书,服务器和客户端的代码应该是什么。