intranet中的Magento无法导入WSDL架构

intranet中的Magento无法导入WSDL架构,magento,soap,proxy,wsdl,xampp,Magento,Soap,Proxy,Wsdl,Xampp,我使用XAMPP和Windows Server 2012在本地计算机(intranet)上安装了Magento 1.7.0.2 CE实例。我需要从内部网中的另一台机器调用它的SOAP v2 API(WS-I Compliance=no,并且它不能更改) 当我尝试调用SOAP“login”函数时,我得到以下错误:“SOAP-error:解析架构:无法从“”导入架构”重要的可能是安装Magento的主机没有DNS名称,因此it base_url设置为机器的公共ip,从intranet可见 “SOAP

我使用XAMPP和Windows Server 2012在本地计算机(intranet)上安装了Magento 1.7.0.2 CE实例。我需要从内部网中的另一台机器调用它的SOAP v2 API(WS-I Compliance=no,并且它不能更改)

当我尝试调用SOAP“login”函数时,我得到以下错误:“SOAP-error:解析架构:无法从“”导入架构”重要的可能是安装Magento的主机没有DNS名称,因此it base_url设置为机器的公共ip,从intranet可见

“SOAP-ERROR: Parsing Schema: can’t import schema from ‘http://schemas.xmlsoap.org/soap/encoding/’“ 以下是我尝试过的:

  • 由于magento主机位于intranet中,我在XAMPP上为外部调用配置了代理,因此可以访问。没有任何更改

  • 我试图从找到的app\code\core\Mage\Api\etc\wsdl2.xml和wsdl.xml中删除import子句,但随后收到另一个错误:“SOAP-error:解析架构:架构中意外导入”

  • "SOAP-ERROR: Parsing Schema: unexpected import in schema"
  • 我看到:

  • 我找到了一个解决办法: 这很难看,但很有效。按照标准方式,wsdl文件是使用完整路径获取的,例如: _http://[host]/index.php/api/v2\u soap/index/?wsdl=1

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

  • 您能够在浏览器中查看wsdl文件吗?是的,可以从主机和intranet查看。调用:http://[intranetip]/mage1/api/v2_soap?wsdl那么它一定是wsdl文件中的某个字段/元素放错了。您可以将您的wsdl xml文件发送给我吗?它不是自定义的。这是标准的magento v2 wsdl:您是否禁用了缓存?和wsdl缓存?您是否能够在浏览器中查看wsdl文件?是的,从主机和内部网也可以。调用:http://[intranetip]/mage1/api/v2_soap?wsdl那么它一定是wsdl文件中的某个字段/元素放置错误。您可以将您的wsdl xml文件发送给我吗?它不是自定义的。这是标准的magento v2 wsdl:您是否禁用了缓存?和wsdl缓存?