一、背景
最近的工作中碰到一个金融支付相关的服务,整个服务是提供的webservice接口,查了一下采用webservice会更加安全,所以就研究了下如何测试这种服务的接口。
二、术语解释
- WebService是什么?
- 基于Web的服务:服务器端整出一些资源让客户端应用访问(获取数据)
- 一个跨语言、跨平台的规范(抽象)
- 多个跨平台、跨语言的应用间通信整合的方案(实际)
- SOAP协议是什么?
- Webservice是基于SOAP协议传输数据。 SOAP又是一种简单的基于 XML 的协议,它使应用程序通过 HTTP 来交换信息。
- WSDL是什么?
- WSDL(Web Services Description Language)基于XML语言,用于描述Web Service及其函数、参数和返回值。它是WebService客户端和服务器端能理解的标准格式。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅的,这将是一个很大的好处。——可以视为接口文档
- WSDL 文件保存在Web服务器上,通过一个url地址就可以访问到它。客户端要调用一个WebService服务之前,要知道该服务的WSDL文件的地址。
三、 请求webservice接口
- 获取WSDL文件
这一步很简单,直接找开发同学,他们把服务端代码做发布后会生成这个文档的,如果他说没有,那他的服务肯定有问题。
- Wizdler插件介绍
谷歌的插件,工具的说明就很明了“Parses the WSDL files and generates SOAP messages for you.”可以帮我们解析WSDL文件以及生成SOAP请求。
- Wizdler插件使用
(1)在谷歌浏览器里打开WSDL文件
(2)点击插件图标
(3)选择要执行的接口,点击跳转
(4)跳转到工具页面后,修改接口参数,点击“GO”发送请求即可
总结:其实进行到这里,我们发现这种请求还是跟之前的http请求一样,需要请求方法,接口路径,请求参数这些元素,只不过由于soap协议是基于xml格式的参数,需要通过解析一次wsdl文件来获取相关参数。
四、其他工具
- SoupUI 导入wsdl文件就可以,他会自动解析并且生成请求,直接用它发起请求即可。
- Postman 既然请求类型、接口路径、请求参数都获取到了,我们完全可以用postman和Jmeter等工具发送http请求,只不过参数传递的是xml格式的。
参考资料:https://www.cnblogs.com/nullering/p/9489762.html
https://www.w3school.com.cn/webservices/ws_intro.asp
原文地址:https://www.cnblogs.com/LiangHu/p/11371884.html
时间: 2024-11-02 14:30:51