apz*_*000 1 php soap wsdl magento
我正在寻找这个问题的帮助,我希望有人给我这帮助.错误如下:
致命错误:SOAP-ERROR:解析WSDL:无法从"http://example.com/index.php/api/?wsdl"加载:无法加载外部实体"http://example.com/index. php/api /?wsdl"位于第28行的/var/www/presentacion/app/code/local/Pengo/Extension/Model/Something.php
我用来连接它的代码是这样的:
$this->_soap = new SoapClient(http://example.com/index.php/api/?wsdl);
Run Code Online (Sandbox Code Playgroud)
并且它说的是错误.
我一直在谷歌,PHP论坛,在StackOverflow和Magento本身,但我找不到任何解决方案.
我所看到的是,WSDL永远不会被解析或加载,因为错误说明并且没有任何函数.
我试过像这样连接:
$options['location'] = http://example.com/index.php/api/?wsdl;
$options['uri'] = 'urn:Magento';
$this->_soap = new SoapClient(null, $options);
Run Code Online (Sandbox Code Playgroud)
像这样它不会像其他错误那样发送任何错误但是没有要使用的函数,就像在另一种情况下它没有'加载和解析WSDL一样.
我有点沮丧,因为我已经开发了这个像1个月,现在我正在做一些测试它显示这个消息,我测试了它真的是空的,新的,它工作正常.
所以任何帮助将不胜感激.
谢谢.
Ala*_*orm 12
十分之九的错误是Magento告诉你它无法加载WSDL文件. Magento告诉你这个.这不是您的本地客户端代码抱怨.
Magento使用PHP SoapServer对象来创建其SOAP API.该SoapServer对象也需要访问WSDL.尝试从服务器的命令行运行以下命令
curl http://example.com/index.php/api/?wsdl
Run Code Online (Sandbox Code Playgroud)
如果我是对的,以上将超时/失败.
由于DNS中的一些怪癖,服务器无法通过其域名访问自身的情况非常普遍.如果是这种情况,最快的解决方法是在服务器的hosts文件中添加一个条目.(如果没有任何意义,请与您的服务器管理员联系)