Intranet中的Magento无法导入WSDL架构

时间:2015-08-24 09:21:39

标签: magento soap proxy wsdl xampp

我使用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,从内联网可见。

以下是我的尝试:

  1. 由于magento主机位于Intranet中,我已在XAMPP上为外部呼叫配置了代理,因此可以访问http://schemas.xmlsoap.org/soap/encoding/。什么都没有改变。

  2. 我尝试从app \ code \ core \ Mage \ Api \ etc \ wsdl2.xml和我找到的wsdl.xml中删除import子句,但后来又收到了另一个错误:

    {{ 2}}

  3. 我看过: Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing Schema: can't import schema from 'http://schemas.xmlsoap.org/soap/encoding/'

  4. 我找到了一个解决方法:

    这很丑陋但有效。在标准方式中,使用完整路径获取wsdl文件,例如:     _http:// [host] /index.php/api / v2_soap / index /?wsdl = 1

    1. 我查看了每个目录 /app/code/core/Mage/*/etc/wsdl.xml并从中删除了import子句。
    2. 清除magento缓存(var / cache)。
    3. 我已使用浏览器下载了结果wsdl。
    4. 然后删除每个导入语句
    5. 然后将其保存在magento的根目录中。 (我不确定是否是这种情况,因为我已经进一步删除它,整个事情似乎仍然有效。)
    6. 清除magento缓存

0 个答案:

没有答案