从WSDL文件中为自动完成生成显式代码?
问题描述:
我在某个项目中使用the suds library作为SOAP客户端。 我想知道是否有一种方法根据WSDL文件生成Python代码。从WSDL文件中为自动完成生成显式代码?
例如,请考虑下面的线是从WSDL文件:
<operation name="GetLastTradePrice">
然后,我想在一些.py
文件,以获得自动生成的功能
def GetLastTradePrice...
的目的那就是为了能够知道我拥有客户时可能的功能和特性。这意味着,如果我会写:
from suds.client import Client
client = Client(SOME_URL)
然后键入folloewing
client.service.
我会得到自动完成GetLastTradePrice
的选项之后。
答
python有很多SOAP服务器实现,其中一些比其他实现更有用,在PyPI上搜索与SOAP相关的包,或者查看python.org上有关web services的wiki页面。基本上有两种类型的SOAP服务器的Python:
- 服务器,可以生成WSDL文件(如ZSI),可以从服务类中的方法直接产生WSDL
- 服务器服务器存根(如soaplib,拉冬)
出于兴趣,Python REPL autocompletion框架足够灵活,可以根据对象的状态动态更改自动完成选项吗?在交互式编程环境中(如REPL),这将允许输入“client.service”。动态调出在先前步骤中初始化客户端时已解析的Web服务方法列表。 –