我在Python(2.7)中的应用程序应该使用客户端来使用SOAP Web服务,如WSDL所述(由Magento生成(1.7.0)并在最后发布).
对于此任务,当我尝试连接这些代码时,选择了Suds(4.0):
from suds.client import Client
client = Client(url)
Run Code Online (Sandbox Code Playgroud)
由于此处描述的众所周知的问题,我收到了TypeNotFound错误https://fedorahosted.org/suds/wiki/Documentation#FIXINGBROKENSCHEMAs
然后我将我的代码更改为:
from suds.client import Client
from suds.xsd.doctor import Import, ImportDoctor
#Fixing the import
imp = Import('http://schemas.xmlsoap.org/soap/encoding/')
imp.filter.add('urn:Magento')
client = Client(self.url, plugins=[ImportDoctor(imp)] )
#Now Authentication
session = client.service.login(username, password)
#Call a method
client.service.call(session,'catalog_product.info',['123'])
Run Code Online (Sandbox Code Playgroud)
但是,现在出现了一个新的例外:
File "/home/david.gonzalez/.virtualenvs/testlib/lib/python2.7/site- packages/suds/mx/literal.py", line 86, in start
raise TypeNotFound(content.tag)
suds.TypeNotFound: Type not found: 'args'
Run Code Online (Sandbox Code Playgroud)
我不明白,为什么它不能找到'args'的类型,如果在wsdl中是显式的:
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:typens="urn:Magento" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Magento" targetNamespace="urn:Magento">
<types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:Magento">
<!--
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" schemaLocation="http://schemas.xmlsoap.org/soap/encoding/" …Run Code Online (Sandbox Code Playgroud) 我是MongoDB的新手.
我正在使用spring数据和mongodb编写应用程序,我有一个包含两个字段的类:firstname和lastname.
我需要一个查询包含全名(firstname+ lastname)中的一个字符串的文档.
例如:firstname = "Hansen David",lastname = "Gonzalez Sastoque"我有一个查询要查找David Gonzalez.在这个例子中,我希望有一个匹配.
连接两个字符串解决了它,但我不知道如何执行此操作.