/*!
zsi + wsdl + mod_python
created by : andrew.wu (erpingwu@gmail.com)
created on : 2009/05/28
url : http://blog.oolanguage.com/erpingwu/zsi-wsdl-mod_python/*/
ZSI(The Zolera SOAP Infrastructure) 似乎很多人用,但文档与代码例子都有问题,开源的东西也就不苟求。
所用源码从 https://pywebsvcs.svn.sourceforge.net/svnroot/pywebsvcs/trunk 下载,revision: 1493
首先观察代码
pywebsvcs/trunk/zsi/doc/examples/server/receive_request/simple/mod_python/MyHandler.py
1 | from Example_services import EchoResponseWrapper |
2 | |
3 | def echo(message): |
4 | response = EchoResponseWrapper() |
5 | response._Message = message |
6 | return response |
看起来感觉很好,但等你用 wsdl2py 处理 wsdl 文件后会愕然发现其中的 EchoResponseWrapper 根本不知道从何而来 。
下面一步步来进行,首选是对 pywebsvcs/trunk/zsi/doc/examples/server/receive_request/simple/binding.wsdl 稍作修改
1 | <service name="ExampleService"> |
2 | <documentation>Example web service</documentation> |
3 | <port name="Example" binding="tns:Binding"> |
4 | < |