您的位置:首页 > 编程语言 > Python开发

python使用SUDS调用webservice

2012-10-20 00:23 573 查看
Dive into Python一书中介绍的古老的调用webservice方法需要如下包:PyXML, fpconst, SOAPpy

上述包基本上在04年05年左右就不再维护了,并且多数不再提供python2.5以上的版本的支持,显然我们还要用它们的话,会比较蛋疼,在stackoverflow上看到有人在问如今python下“最好”的SOAP客户端,还真有人回复了:点此查看

我仔细读了一下回复,最终选择了SUDS,文档在此

url="http://example.com/test.asmx?wsdl"

client=Client(url)

#查看远程方法

print client

#简单调用

client.service.hello()

#传递对象参数(方法1)

#假定我做了一个myc的class,有p1,p2两个属性

m=client.facty.create(""myc"")

m.p1="my name is "

m.p2="walker"

result=client.service.ClassIn(m)

print result

#传递对象参数(方法2)

m={"p1":"my name is ","p2":"walker"}

client=Client(url)

result=client.service.ClassIn(m)

print result

#返回对象

result=client.service.ClassOut()

print result.p1 #可见返回的对象是可以直接用的

#    演示suds把异常包装成元组送出

client=Client(url,faults=False)

result=client.service.ClassIn("fadlskfjsdafjk")

print result
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: