【发布时间】:2013-08-07 08:40:49
【问题描述】:
我对 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:找不到方法:'Application.Application.say_hello2'
请帮我解决这个问题:)
我也在考虑其他事情。 sopalib 自 2010 年以来似乎不活跃,也许这里存在一些问题?也许有比 SUDS+soaplib 更好、更快、更高效的 SOAP 连接解决方案?如果是这样,请给我一些建议。
感谢您的帮助 迈克
【问题讨论】: