2

我不确定 PHP-Nusoap 客户端在向 http 和 https 发送 Web 服务请求时是否有任何区别。对于用户测试,客户端使用http://xxx.xxx.xxx.xxx:3833/ws/ws.svc?wsdl工作正常。但是,当客户端使用 https 移动到生产服务器时(将上一个链接中的 http 替换为 https),我没有得到任何回复。

提前致谢

4

1 回答 1

0

我遇到了同样的问题,因为它在 http 上运行良好,但不在 https 上。只是在这里分享我的整个编程路径,以帮助他人。

我最初遵循本教程:php webservice with nusoap and c#。他在教程中唯一没有说的是你应该把所有的 php 代码放在一个 php 文件中(但是好的,它可能真的很简单,所以没有真正的抱怨)。

我第一次在 http 上尝试了这个,我很高兴它工作,但后来我不得不转移到 ssl,因为我在本地服务器上测试它,所以我有一个自签名证书,我得到了错误:“底层连接是已关闭:无法为 SSL/TLS 安全通道建立信任关系。”

我用谷歌搜索,终于在这个链接上找到了解决方案:damir dobric blog

基本上你应该添加以下行:

ServicePointManager.ServerCertificateValidationCallback += 
new System.Net.Security.RemoteCertificateValidationCallback(
customXertificateValidation);

并添加函数 customXertificateValidation 的实现以返回 true(这是我为测试目的所做的)。

好的,我希望这对某人有所帮助,因为它让我压力了一个星期!

于 2011-04-12T07:57:15.407 回答