3

对于完全有效的相同 WSDL,我可以像这样使用 PEAR SOAP 正确访问它:

$WSDL = new SOAP_WSDL($this->wsdlUrl);
$proxy = $WSDL->getProxy();

但无法通过 Zend_Soap 使其工作,当像这样使用时:

$soapclient = new Zend_Soap_Client($this->wsdlUrl);

通过 Zend_Soap_Client 访问时出现以下错误:

错误:SOAP-ERROR:解析 WSDL:无法从“ https://abc.xyz.com/agent/TestService.php?wsdl ”加载:需要开始标记,未找到“<”

我的 php.ini 中也启用了 Openssl 有人知道它为什么不起作用吗?以及如何修复它以正确使用 Zend_Soap?

4

3 回答 3

2

您应该检查 ssl 证书是否有效。如果 ssl 证书验证失败,也会抛出此错误消息。

于 2010-12-05T14:56:56.303 回答
2

检查以确保在您的托管情况下没有端口被阻止。我有同样的错误,虽然不同的代码只是普通的 php,并且已经为此苦苦挣扎了好几天。

事实证明,我的 webhotel 阻止了我访问 web 服务所需的端口。或者它可能是一些与代理相关的问题,给出了相同的阻止结果。

于 2011-06-15T14:05:14.123 回答
0

您是否使用 HTTP 身份验证?Auth 与 SOAP 客户端一起使用,但是您无法访问受密码保护的 WSDL 文件

https://bugs.php.net/bug.php?id=27777

于 2012-06-13T09:13:55.567 回答