1、用SoapUI测试webservice接口,传入参数是xml格式时。xml格式需要将xml的外围增加<![CDATA[xml]]>

2、但是用python去做webservice测试,调用函数去传参时,直接将xml作为字符串的格式传入即可。

其中,webservice请求的返回值类型是:<class 'suds.sax.text.Text'>,

需要用json.loads(escape(result))转成字典的格式:<class 'dict'>。去引用

具体展示如下:

注意SoapUI:xml的格式需要将xml外围增加<![CDATA[xml]]>
from suds.client import Client
import json
from xml.sax.saxutils import escape class WebserviceSuds():
def webservice_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外围增加<![CDATA[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))
return result #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()转化成字典

<class 'suds.sax.text.Text'>
from xml.sax.saxutils import escape
import json
# 转换成字符串类型
print(type(escape(res))) # 转换成字典类型
create_response = json.loads(escape(res))
print(create_response)
print(type(create_response))

webservice接口测试wsdl,参数是xml格式。python,入参转化成str,返回值转化成dict调用的更多相关文章

  1. 使用soapUI5.3.0调试webservice接口(参数为XML格式)

    最近项目中经常要调试webservice接口,从朋友处了解到他们经常使用SoapUI,因此学习一下这个工具的使用,为避免遗忘,特地记录下来,分享分享... 下载 #####首先,下载SoapUI,我下 ...

  2. day11 python学习 函数的建立,返回值,参数

    函数的定义主要有如下要点: def:表示函数的关键字 函数名:函数的名称,日后根据函数名调用函数 函数体:函数中进行一系列的逻辑计算,如:发送邮件.计算出 [11,22,38,888,2]中的最大数等 ...

  3. python使用threading获取线程函数返回值的实现方法

    python使用threading获取线程函数返回值的实现方法 这篇文章主要介绍了python使用threading获取线程函数返回值的实现方法,需要的朋友可以参考下 threading用于提供线程相 ...

  4. Python基本语法_函数_返回值

    目录 目录 前言 函数的返回值 在函数中Return和Print的区别 函数中的文档 前言 函数的返回值是函数重要的组成部分.函数的根本在于实现程序的部分功能,所以很多时候我们需要将函数执行后的结果返 ...

  5. webservice接口测试wsdl

    http和webservice接口测试有什么区别? webservice的基础组成是http+xml 三要素:soap传输协议,uddi,wsdl(webservice描述语言xml格式) 优点:跨平 ...

  6. 返回参数去掉xml格式,以纯json格式返回(转)

    Json 格式显示public static void Register(HttpConfiguration config) { //////////////设置不以xml格式返回 config.Fo ...

  7. python中函数的定义、返回值以及参数的简要介绍

    一. 1.函数 定义:def关键字开头,空格之后接函数名称和圆括号(),后面紧跟‘:”. 函数是对功能的封装 语法: def 函数名(形参列表): 函数体(代码块,return) 调用: 函数名(实参 ...

  8. python操作mysql数据-执行语句返回值直接返回字典类型

    fetchall()将结果放在二维数组里面,每一行的结果在元组里面 import pymysql def export(table_name): conn =pymysql.connect(host ...

  9. Python+request 登录接口reponse的返回值token跨py文件的传递《二》

    主要使用场景: 一般我们在进行接口测试时,依赖登录接口后reponse中的某些返回值,因此需要将login接口单独写一个py文件,另外的py文件均可调用login的reponse返回值使用.共用登录接 ...

随机推荐

  1. JVM--02

    Java虚拟机内存管理: 共享: 方法区:存储运行时常量池.已被虚拟机加载的类信息.常量.静态变量.即时编译器编译后的代码等数据 java堆:存储对象实例 线程独占区: 虚拟机栈:存放方法运行时所需的 ...

  2. python学习第25天

    异常处理 什么是异常?什么是错误? 1,程序中难免出现错误. 错误主要分为两种: 1,语法错误 语法错误是根本上的错误,无法通过PYTHON解释器.完全无法执行,是在程序中不应该出现的错误.无法进行异 ...

  3. 新建的亚马逊云服务器EC2 ping 不通 解决方案

    在EC2配置安全组里面新加一条规则

  4. javascript中Math函数的属性与方法

    math函数的属性 Math.PI:返回圆周率. math函数的方法 绝对值: Math.abs(); 对数进行上舍入: Math.ceil(); 对数进行下舍入: Math.floor(); Mat ...

  5. Django—模型

    索引 1.定义模型类 2.模型类 3.字段查询 4.查询集 5.模型类关系 6.模型类扩展 ORM简介 ORM,全拼Object-Relation Mapping,中文意为对象-关系映射,是随着面向对 ...

  6. Java Web项目漏洞:检测到目标URL存在http host头攻击漏洞解决办法

    检测到目标URL存在http host头攻击漏洞 详细描述 为了方便的获得网站域名,开发人员一般依赖于HTTP Host header.例如,在php里用_SERVER["HTTP_HOST ...

  7. PHP实现微信商户支付企业付款到零钱功能代码实例

    本文为大家分享了PHP实现微信商户支付企业付款到零钱的具体代码,供大家参考,具体内容如下 微信支付开发文档 一.开通条件 企业付款为企业提供付款至用户零钱的能力,支持通过API接口付款,或通过微信支付 ...

  8. 利用BootStrap Table插件实现自己的弹出框分页。

    参考链接1:    官网:http://bootstrap-table.wenzhixin.net.cn/zh-cn/home/        开始使用:http://bootstrap-table. ...

  9. 一步步建立 Vue + Cesium 初始化项目

    一步步建立 Vue + Cesium 初始化项目 初始化 Vue 项目 升级 npm npm install -g npm 安装 @vue/cli 和 @vue/cli-service-global ...

  10. celery使用

    1.常用命令 (1)启动后台职程 celery worker -A tasks --loglevel=info celery worker -A tasks --loglevel= -A 是指cele ...