我对 SOAP 和 Web 服务还很陌生,我尝试创建工作和稳定的 SOAP 环境。经过一番阅读,我决定使用 suds 客户端和soaplib 服务器。我正在使用python2.7,并且我已经使用easy_install安装了suds和soaplib,所以它是相当默认的程序组合。操作系统是最新的 Ubuntu 13。
我创建了 2 个基于教程 hello_world 示例的脚本: http ://soaplib.github.io/soaplib/2_0/pages/helloworld.html
经过一些小改动后:
- 加入
from soaplib.core.service import soap
服务器 hello_client = Client('http://localhost:7789/HelloWorldService?wsdl')
在客户端中添加服务名称
我有一个可行的解决方案,允许我运行服务器(端口繁忙),并且 suds 客户端在使用 say_hello 函数后给我一个返回信息。
问题是我无法使用示例中使用的定义在此服务器中创建新方法。即使简单地将名称从 say_hello 更改为 say_hello2 也会给我错误:suds.MethodNotFound: Method not found: 'Application.Application.say_hello2'
请帮我解决这个问题:)
我也在考虑其他事情。sopalib 自 2010 年以来似乎不活跃,也许这里存在一些问题?也许有比 SUDS+soaplib 更好、更快、更高效的 SOAP 连接解决方案?如果是这样,请给我一些建议。
谢谢你的帮助迈克