【问题标题】:Why am I getting this error when I try writing a client for soaplib?当我尝试为soaplib 编写客户端时,为什么会出现此错误?
【发布时间】:2010-07-09 23:12:59
【问题描述】:

Traceback(最近一次调用最后一次): 文件“”,第 1 行,在 NameError: 名称“HelloWorldService”未定义

我正在按照http://github.com/jkp/soaplib 的示例编写以下代码:

from soaplib.client import make_service_client
client = make_service_client('http://localhost:7789/',HelloWorldService())

【问题讨论】:

    标签: python web-services


    【解决方案1】:

    您忽略了该代码 sn-p 之后的段落:

    在这种情况下,存根可以是远程功能的实例,但要求是它与服务器实现具有相同的方法签名和定义。

    您需要在项目中添加一个模拟服务器上 HelloWorldService 类结构的存根:

    class HelloWorldService(SimpleWSGISoapApp):
        def say_hello(self, name, times):
            pass
    

    在你的 import 语句之后添加那个 sn-p 并试一试。

    【讨论】:

    • 现在我得到:对于 self.server.methods() 中的方法:AttributeError:HelloWorldService 实例没有属性“方法”
    • 我使用了您修改后的代码,这就是我现在得到的: Traceback(最近一次调用最后一次):文件“client.py”,第 5 行,在 类 HelloWorldService(SimpleWSGISoapApp) 中:NameError : 名称“SimpleWSGISoapApp”未定义抱歉:(
    • 老兄,你看文档了吗?这是 Python 101;导入模块:from soaplib.wsgi_soap import SimpleWSGISoapApp
    猜你喜欢
    • 1970-01-01
    • 2013-08-14
    • 2020-10-18
    • 2021-06-27
    • 1970-01-01
    • 2020-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多