在前几篇文章里面我重点用python去发布一个webservice。我用的是soaplib库。发布以后确实可以通过php来访问,也可以通过python访问,通过php访问的话还好。但是通过python访问的时候必须知道服务端的代码,这一点从官方给出的demo可以看出,这就比较烦人。所以我改用另外的一个python库:suds
suds下载安装很简单,这里就不说了。这里我想写一下它是怎么用的。我们先找一个网上已经发布的webservice:
#! /usr/bin/python
import suds
url = 'http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl'
client = suds.client.Client(url)
print client #结果看图1
result = client.service.getMobileCodeInfo(18611217787) #这个号码是办证的,拿来测试,哈哈
print result #结果看图2
print client.last_received() #结果看图3
图1
图2
图3
图1表明我们获取了一个soap对象
图2是我们调用这个soap里面的getMobileCodeInfo,返回的结果,这里注意调用的时候不能直接client.getMobileCodeInfo(),而是client.service.getMobileCodeInfo()
但是如果我想要知道我获取的所有东西,比如soap的消息头是什么,那么怎么办呢,没关系,我们有client.last_received(),结果就如图3所示