【问题标题】:SOAP Solution in pythonpython中的SOAP解决方案
【发布时间】: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 连接解决方​​案?如果是这样,请给我一些建议。

感谢您的帮助 迈克

【问题讨论】:

    标签: python soap suds soaplib


    【解决方案1】:

    似乎问题是由于 suds ,缓存

    from suds.client import Client
    hello_client = Client('http://localhost:7789/HelloWorldService?wsdl')
    
    hello_client.options.cache.clear() #make this line
    
    result = hello_client.service.say_hello2(...) # parameters inside 
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-05
    • 2011-06-25
    • 2020-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多