对于完全有效的相同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?
答案 0 :(得分:2)
您应该检查ssl-Certificate是否有效。如果ssl-certificate验证失败,也会抛出此错误消息。
答案 1 :(得分:2)
检查以确保在您的托管情况下没有阻止任何端口。 我有同样的错误,虽然使用不同的代码只是普通的PHP,并且几天都在努力。
原来,我的网站已经阻止了我访问网络服务所需的端口。 或者它可能会产生一些与代理相关的问题,从而产生相同的阻止结果。
答案 2 :(得分:0)
您使用的是HTTP身份验证吗? Auth与SOAP Client一起使用,但是您无法访问受密码保护的WSDL文件