我使用XAMPP和Windows Server 2012在本地计算机(Intranet)上安装了Magento 1.7.0.2 CE实例。我需要调用其SOAP v2 API(WS-I Compliance = no,并且无法更改)内联网中的另一台机器。
当我尝试调用SOAP"登录"函数我得到以下错误:
“SOAP-ERROR: Parsing Schema: can’t import schema from ‘http://schemas.xmlsoap.org/soap/encoding/’“重要的是安装了Magento的主机没有得到DNS名称所以它将base_url设置为机器的公共ip,从内联网可见。
以下是我的尝试:
由于magento主机位于Intranet中,我已在XAMPP上为外部呼叫配置了代理,因此可以访问http://schemas.xmlsoap.org/soap/encoding/。什么都没有改变。
我尝试从app \ code \ core \ Mage \ Api \ etc \ wsdl2.xml和我找到的wsdl.xml中删除import子句,但后来又收到了另一个错误:
{{ 2}}
这很丑陋但有效。在标准方式中,使用完整路径获取wsdl文件,例如: _http:// [host] /index.php/api / v2_soap / index /?wsdl = 1