当涉及到SOAP支持时,不幸的是Python不再带有“包括电池”。可以接受客户端的支持,但是在服务器端,您基本上是自己一个人。
您可能希望先了解以下内容:
http://wiki.python.org/moin/WebServices
http://pywebsvcs.sourceforge.net/
http://doughellmann.com/2009/09/01/evaluating-tools-for-developing-with-soap-
in-python.html
如果您真的想走这条路,似乎ZSI是可以使用的工具,尽管我怀疑它是否可以与最新的2.x
Python发行版一起使用。
使用Python 2.6.6,我尝试使用ZSI
2.0从WSDL开始构建Web服务。使用
wsdl2py和生成代码时
wsdl2dispatch,出现了一些“模块已被弃用”的警告,必须单独安装PyXML并修改我的名称
sys.path,以使其首先解析,否则我得到了“模块ext.reader不存在”,然后最终以在基本的“
Hello world!”上令人失望的“
ZSI:evaluateException没有为nillable(False),minOccurs(1)元素得到错误”错误。带有必需元素的WS。
切换到ZSI 2.1_a1,它不再需要PyXML并
wsdl2py完成所有操作(
wsdl2dispatch对于2.0所做的一切),但最终仍死于“
ZSI:evaluateException对于nillable(False),minOccurs(1)元素不可用”错误。
这次体验不是很有趣,但是足以让我对Python为SOAP Web服务所提供的内容形成看法……这并不多(而且对于基本Web服务而言,没有什么比WS-*花哨的了)规格)。YMMV!
编辑: 我最近遇到了一个SO问题,尽管它是面向客户端解决方案的,但是它也确实提到了一些用于构建SOAP服务的库。



