1、用SoapUI测试webservice接口,传入参数是xml格式时。xml格式需要将xml的外围增加xml]]>
2、但是用python去做webservice测试,调用函数去传参时,直接将xml作为字符串的格式传入即可。
其中,webservice请求的返回值类型是:,
需要用json.loads(escape(result))转成字典的格式:。去引用
具体展示如下:
注意SoapUI:xml的格式需要将xml外围增加
from suds.client importClientimportjsonfrom xml.sax.saxutils importescapeclassWebserviceSuds():defwebservice_suds(self,url,msg,operetions):'''url:webservice的wsdl请求地址
msg:传入的参数 注:直接把xml参数当成一个字符串来传递就OK了
operetions:接口操作方式'''
#创建一个webservice对象,来调用webservice里面的各类接口
c=Client(url)#print(c)
#.service去调用接口函数方法method, 注:直接把xml参数当成一个字符串来传递就OK了 # 注意SoapUI:xml的格式需要将xml外围增加
#注册接口、查询接口、查询调阅接口
if operetions=='register':
result=c.service.register(msg)elif operetions=='query':
result=c.service.query(msg)else:
result=c.service.querySubscribe(msg)#escape转换成字符类型,json。loads()转成字典
result =json.loads(escape(result))returnresult#factory,去查看参数情况
#register=c.factory.create("register")
#print(register)
webservice接口的返回分析:
https://www.cnblogs.com/xueli/p/6145211.html(webservie返回接口信息,详解)
https://www.cnblogs.com/nottobe/p/5718823.html
https://www.cnblogs.com/xiaomingzaixian/p/7286793.html(xml转化escape成字符串,再转字典)
https://www.cnblogs.com/xiaomingzaixian/p/7286793.html(json()的使用)
传入参数为:xml
xml.sax.saxutils.escape.
xml格式转化字符串,再用json.loads()转化成字典
from xml.sax.saxutils importescapeimportjson
#转换成字符串类型print(type(escape(res)))#转换成字典类型
create_response =json.loads(escape(res))print(create_response)print(type(create_response))