环境:CentOS 6.4 64位,Python 2.6.6,Magento 1.7,Magento Core API,Suds 0.4.1
Python代码:
client = Client(http:// /figol/api/soap/?wsdl)
client.service.login('figol', 'figol123')
错误明细: TypeNotFound:未找到类型:'(数组,http://schemas.xmlsoap.org/soap/encoding/,)
但是 PHP代码:
$client = new SoapClient(http:// /figol/api/soap/?wsdl);
$session = $client->login('figol', 'figol123');
完美地运作。
我尝试了很多方式(SOAP suds and the dreaded schema Type Not Found error),但没有运气。 非常感谢任何帮助。 感谢。
答案 0 :(得分:0)
不知道PHP如何工作正常但我在Python中使用suds时遇到了同样的错误。这是由于wsdl / xsd损坏。请参阅this post here。
使用suds的'doctor'module解决了这个问题。这是我用于修补用于连接Magento api的破坏的wsdl定义的代码
from suds.client import Client
from suds.xsd.doctor import ImportDoctor, Import
imp = Import('http://schemas.xmlsoap.org/soap/encoding/')
imp.filter.add('urn:Magento')
d = ImportDoctor(imp)
client = Client(self.url, doctor=d)