我正在尝试使用Zeep从数据库(BRENDA)中以编程方式检索信息。
以下是代码。
import zeep
import hashlib
wsdl = "https://www.brenda-enzymes.org/soap/brenda.wsdl"
password = hashlib.sha256("xx".encode('utf-8')).hexdigest()
parameters = "xxx," + password + ",ecNumber*{}#organism*{}#".format("2.7.1.2", "Homo sapiens")
client = zeep.Client(wsdl=wsdl)
print(client)
km_string = client.getKmValue(parameters)
但是,出现以下错误
AttributeError: 'Client' object has no attribute 'getKmValue'
有人可以帮我吗?
上面的代码在python 2中使用SOAPpy库时可以正常工作。但是,我无法在python 3中成功安装SOAPpy,因此我尝试了Zeep。
显示SOAP实现的示例代码可用here
答案 0 :(得分:3)
我们修复了Web服务。现在应该可以了。请在我们的网站上查看SOAP文档。
答案 1 :(得分:0)
不是分辨率,而是一些提示。
1)使用zeep,您需要在客户端和方法名称之间放置.service。正确的语法是client.service.getKmValue(parameters)(看看documentation)
无论如何对于zeep来说,getKmValue不存在(但它存在于wsdl模式中,而SoapUi可以看到它)。
您也可以尝试py-suds,
但是由于某种原因,我得到了一个称为wsdl的403。
-1