背景:要求写一套接口测试工具。过程中遇到了WebService接口的问题,遂写下本篇文章。

阶段问题1:

需要利用数据驱动,然后读取excel中的数据并直接调用。但是webService接口与http接口不同。http接口调用是这样的:

Request(method=’’,url=’’,param=’’)

只需要传入对应的URl,参数就可以了。

但是webservice接口调用是这样的:

Client.service.函数(参数)这里的函数是我们可以写入的。 此时我们如果需要调用可以这样:

eval(“client.service.{0}{1}”).format(method,data)

下面问题就来了,这里的data,我们并不知道有几个参数。这个时候我想了一个办法:

eval(“client.service.{0}{1}”).format(method,*data)

Data传过来是一个list,那么我就将data这个list进行解包。但是这样好像行不通?

因为格式化参数的时候我没有办法指定具体有一个参数,难道不用指定参数个数?用{}{}?这样也行不通。

解决方法,反向思想:

eval(“client.service.{0}(*{1})”).format(method,eval(data))

解释一波:

首先eval(data) ,这里会是这样的数据 [‘param1’,’param2’,’param3’]

method假设是 MYMETHOD

那么format之前是这样的

eval(“client.service.{0}(*{1})”).format(MYMETHOD,[‘param1’,’param2’,’param3’])

format 以后是这样的

“client.service.MYMETHOD(*[‘param1’,’param2’,’param3’])”

这样就会直接去调用我们的函数,并且将我们的list转换成我们需要的方法,也就是这样的:

client.service.MYMETHOD(‘param1’,’param2’,’param3’)

此问题终结。

转载于:https://www.cnblogs.com/bingoTest/p/11233311.html

WebService接口实际场景应用(一)相关推荐

  1. IDEA中进行SpringBoot整合spring-ws开发webservice接口后期要修改xsd文件流程

    场景 SpringBoot整合spring-ws开发webservice接口(全流程详细教程) 参照: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/articl ...

  2. 怎样在IDEA上将WebService接口打包部署到服务器

    场景 在IDEA上开发的Webservice接口将其部署到服务器上. SpringBoot整合spring-ws开发webservice接口(全流程详细教程)参照: https://blog.csdn ...

  3. webService接口对接医院lis系统接口

    文章目录 1.应用场景 2.http协议简述 3.webService协议/soup简述 4.发送webService请求 4.1建立HttpUtils工具类,来发送post请求 4.2 调用医院给的 ...

  4. HttpClient调用WebService接口

    文章目录 前言 WebService是什么? WebService原理? HttpClient是什么? HttpClient应用场景? 使用HttpClient调用WebService接口 1.创建H ...

  5. php 接口使用场景,接口使用场景、trait基本功能

    接口使用场景 单接口 接口可以突破PHP类的继承限制,允许多继承,形成了多层级的接口 用抽象类来部分实现一个接口 接口是实现多态的重要手段<?php interface Animal { con ...

  6. 利用MyEclipse开发一个调用webservice接口的程序

    上一篇文章我们已经学习了如何使用Java 工具MyEclipse开发一个webservice接口,那么接口开发好了如何调用?接下来我们就来解决这个问题. 1:首先随便创建一个Java project选 ...

  7. 如何访问webService接口

    在上篇的文章中我们接触到如何来编写webService接口,这篇文章我们将讲述的是如何来访问webService接口 首先比如这样的一个接口:http://127.0.0.1:11111/weathe ...

  8. 如何编写webService接口

    WebService接口代码的编写 如何编写一个webService接口,大家都知道webservice接口的好处可以跨平台来使用,在不同的编程语言之间可以实现,可以更容易的交互. 首先编写一个接口i ...

  9. 调用webservice接口,数据不回滚问题

    调用webservice接口,数据不回滚问题 使用cxf+spring框架开发webservice接口,在开发一个具有保存数据的接口功能时,如果数据发生了异常,对service层无论使用了xml配置声 ...

  10. android调用web接口,Android调用webservice 接口

    以查询手机号码归属地的Web service为例,它的wsdl为 1 在Android项目中导入??Ksoap2-android jar第三方jar包?? 2 Activity代码 public cl ...

最新文章

  1. 整数行hdu 1244 Max Sum Plus Plus Plus(dp)
  2. linux静态库的打包及链接使用
  3. java.lang.ExceptionInInitializerError解决办法
  4. 俄罗斯议会预计2021年代币发行将激增
  5. golang利用反射写入excel的简单工具类
  6. 190204每日一句
  7. 【元胞自动机】基于元胞自动机模拟交叉口右转机动车过街社会力模型matlab源码
  8. 手机上使用油猴插件 Tampermonkey
  9. 流媒体后视镜方案关键技术--电子防眩目
  10. 外包招聘背调,是对前雇主的一种侮辱
  11. bzoj4167 永远亭的竹笋采摘
  12. 埃尔米特插值法在MATLAB中的应用
  13. Leetcode 858. 镜面反射 Python解法
  14. 同步,异步的区别 异步操作同步化
  15. 点阵屏HCMS-3977驱动
  16. 英语智能语音测试软件,卓帆英语人机对话智能评测练习软件
  17. 洛谷 5061 秘密任务——二分图染色
  18. MT60B1G16HC-48B:A美光内存颗粒FBGA代码D8BNK
  19. 面向对象分析与设计01 - 关键抽象
  20. TiED:人类组织特异性增强子数据库

热门文章

  1. Amazon AWS S3 上传文件 并获取公用url
  2. 使用 JQuery EasyUI
  3. 3.1 栈—栈的存储实现和运算实现
  4. Redis学习手册(主从复制)
  5. Mozilla FireFox 爆JAR URI处理跨站脚本漏洞 可偷窃Google帐户
  6. MySql BlackHole存储引擎
  7. 再谈如何以最简单的方法将泛型为String类型的集合或String类型的数组转化为逗号间隔字符串形式
  8. Java对数组的操作(三)—比较两个数组中的元素是否相同的最简单方法
  9. 匿名对象与非匿名对象的区别
  10. 理解Java - 线程池