Python 中的 SOAP 解决方案

2024-04-25 17:31:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我对SOAP和web服务比较陌生,我试图创建一个工作稳定的SOAP环境。经过一番阅读,我决定使用suds客户端和soaplib服务器。 我使用的是python2.7,并使用easy-install安装了suds和soaplib,所以这是程序的默认组合。操作系统是最新的Ubuntu13。在

我创建了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-unuhello函数后会给我一个返回信息。在

问题是我不能使用示例中使用的定义在这个服务器中创建新方法。即使是简单地把名字从say-yu-hello改为say-yu-hello2也会给我带来错误: 找不到suds.method:找不到方法:'Application.Application.say嫒hello2'

请帮我解决这个问题:)

我也在想别的事情。索帕利布自2010年以来似乎没有动静,也许这里存在一些问题?也许有比SUDS+soaplib更好、更快、更高效的SOAP连接解决方案?如果是,请给我一些建议。在

谢谢你的帮助 迈克


Tags: 方法服务器webhttp客户端示例helloapplication
1条回答
网友
1楼 · 发布于 2024-04-25 17:31:32

问题似乎是由肥皂水,缓存引起的

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 

相关问题 更多 >