如何测试Web服务.1
一.什么是web服务
web服务在简单术语中可被定义为通过安装了特定设备或服务器到另一装置或客户端应用程序通过WWW彼此通信后的应用程序(万维网)提供的服务。
Web服务通常在计算机网络的应用层上使用HTTP或HTTPS协议,其中一个应用程序以XML或JSON的形式传输数据或发送请求并接收由客户端应用程序作为Web服务处理的响应,是底层软件平台,体系结构技术。
例如,用.NET平台编写的应用程序希望从JAVA平台中的应用程序以Web服务的形式访问数据,这可以通过在应用程序之间传递XML请求和响应来实现。
二.Web服务标识
Web服务标识为:
Internet或Intranet或虚拟专用网络(VPN)上可用的任何服务。
使用标准XML消息格式的服务。
一种与平台无关的服务,不限于特定的操作系统或编程语言。
可以通过万维网上的简单查找机制发现的服务,它是一个URL。
通过通用XML语法自描述的服务。
能够通过万维网上的HTTP或HTTPS协议交换信息的服务。
三. Web服务组件
基本的Web服务平台是XML消息格式以及HTTP请求和响应。所有标准Web服务都使用以下组件工作
SOAP(简单对象访问协议)
UDDI(通用描述,发现和集成)
WSDL(Web服务描述语言)
四.Web服务操做
Web服务通过使用开放标准,使安装在不同设备上的各种应用程序之间能够进行通信,如下所述:
HTML页面通过HTTP / HTTPS协议发送请求并呈现接收到的响应。
标记请求和响应数据的XML。
SOAP通过Web传输消息。
WSDL描述了Web服务的可用性。
五.样例
考虑一个银行网络服务,该服务注册用户并生成唯一的用户ID和密码以访问其网站上的帐户。假设用户在银行开户后首次在线注册自己。银行Web服务是驻留在Solaris机器上的JAVA程序,该机器与数据库进行交互以处理从JSP应用程序接收的数据,该JSP应用程序通过万维网在线注册用户。
以下是此操作将执行的步骤:
作为JSP应用程序运行的客户机程序将脱机接收到的用户详细信息(例如其姓名,电话号码,电子邮件ID,地址和银行帐号)捆绑为SOAP消息。
该SOAP消息通过万维网上的HTTP POST请求发送到Web服务。
Web服务将SOAP消息解包,解析XML消息并生成用于处理请求并与数据库进行交互的命令行命令。
查找数据库后,嵌入Web服务中的服务器端程序将验证数据,如果信息正确,则创建唯一的UID和密码,并将此数据捆绑到另一个SOAP消息中作为响应。
使用HTTP POST响应将该响应作为SOAP消息发送回客户端JSP应用程序。
SOAP消息由客户端程序解包,验证和解析。
如果SOAP消息的验证成功,则客户机JSP程序将处理SOAP消息数据。客户端程序在网络浏览器屏幕上呈现诸如“ UID和密码成功创建”之类的信息,并通过电子邮件或用户已在银行注册的SMS形式发送此实际信息(UID和密码)。
如果对SOAP消息的验证失败,则Web服务将在SOAP消息中发送错误信息,该错误信息将在Web浏览器屏幕上呈现,例如“输入数据与请求的详细信息不匹配,未创建UID和密码”。
这就是完成为银行业务应用程序生成UID和密码的Web服务操作的方式。下面是图形表示:

Web服务请求和响应模型
六. Web服务测试
Web服务测试实际涉及的内容:
WSDL文件定义理解。
Web服务提供的操作。
作为SOAP请求消息发送的XML请求消息格式。
XML响应消息格式作为SOPA响应消息接收。
一个简单的本地工具或测试程序,可以发送XML消息请求并以XML消息响应的形式接收请求
Web Service示例项目及其测试将在下节讲解
七. Web服务和Web API之间的区别
| 属性 | Web 服务 | Web API |
| 信息交换的数据结构 | 仅将XML格式用作信息交换和通信的结构化数据。 | 结构化数据可以是XML格式,JSON格式或纯数据。 |
| 数据和请求压缩 | 可以压缩HTML请求,但不能压缩XML数据。 | 这里可以压缩数据。 |
| 数据定义标准 | 标准由WSDL(Web服务定义语言)定义。 | 没有定义的标准。 |
| 使用的协议示例 | Web服务使用SOAP(简单对象访问协议)协议 | Web API使用REST(表示状态传输)协议 |
如何测试Web服务.1的更多相关文章
- 利用python httplib模块 发送Post请求测试web服务是否正常起来!
最近在学习python,恰好老大最近让我搞个基于post请求测试web服务是否正常启用的小监控,上网查了下资料,发现强大的Python恰好能够用上,所以自己现学现卖,顺便锻炼下自己. 由于本人也刚接触 ...
- 如何测试Web服务.3
-->全文字数:2254,需要占用你几分钟的阅读时间 ,您也可以收藏后,时间充足时再阅读- ->第一节讲了<Web服务基础介绍>,第二节讲了<Web服务测试工具> ...
- 如何测试Web服务.2
-->全文字数:2700,需要占用你几分钟的阅读时间 ,您也可以收藏后,时间充足时再阅读- -->上一节讲了<Web服务基础介绍>,本节介绍可用于测试web服务的开源测试工具. ...
- C#测试web服务是否可用
winform客户端经常需要调用webservice或者WCF进行数据交互,但是远程服务有可能不存在或者服务器不可用,客户端只能通过超时或者捕获到异常感知服务不可用.其实有一个COM借口可用快速的检测 ...
- 测试Web服务接口
1. http://www.iteye.com/topic/142034 2. http://www.iteye.com/topic/1123835 3.http://yongguang423.ite ...
- 12个强大的Web服务测试工具
在过去的几年中,web服务或API的普及和使用有所增加. web服务或API是程序或软件组件的集合,可以帮助应用程序进行交互或通过形成其他应用程序或服务器之间的连接执行一些进程/事务处理.基本上有两种 ...
- WCF:为 SharePoint 2010 Business Connectivity Services 构建 WCF Web 服务(第 1 部分,共 4 部分)
转:http://msdn.microsoft.com/zh-cn/library/gg318615.aspx 摘要:通过此系列文章(共四部分)了解如何在 Microsoft SharePoint F ...
- 混合使用Azure LB和ILB访问相同web服务(1)
在经典的使用场景中,我们一般使用AzureLoadBalancer来面向公网提供负载均衡服务,而使用Azure Internal Load Balancer提供内部那些不愿意将服务暴露给公网的服务,比 ...
- 在 SQL Server 的存储过程中调用 Web 服务
介绍 一个老朋友计划开发一个应用,基于 .NET 和 Socket,但需要在存储过程中调用 Web 服务. 在这篇文章中我们将分享这个应用的经验,讲述如何在存储过程中调用 Web 服务,并传递参数. ...
随机推荐
- vue+Element 表格编辑
先上效果 <template> <div> <el-table :data="tableData" style="width: 100%&q ...
- 20165214 2018-2019-2 《网络对抗技术》Exp7 网络欺诈防范 Week10
<网络对抗技术>Exp7 网络欺诈防范 Week10 一.实验目标与内容 1.实践目标 理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法 2.实践内容 (1)简单应用SET工 ...
- 使用vue搭建应用六实现登录页
1.js_cookie js-cookie插件是一个JS操作cookie的插件 安装 yarn add js-cookie 使用 写入 Cookies.set('name', 'value'); 读取 ...
- kudu 介绍
kudu的好处: 快速的olap 列式存储,Hadoop parquet 的一种替代方案 对数据的顺序处理和随机处理都很高效 * High availability. Tablet Servers a ...
- POJ-动态规划-典型问题模板
动态规划典型问题模板 一.最长上升子序列(Longest increasing subsequence) 状态(最关键):f[N]为动规数组,f[i]表示从第一个字符开始,以a[i]为最后一个字符的序 ...
- Python3+WebSockets实现WebSocket通信
一.说明 1.1 背景说明 前段时间同事说云平台通信使用了个websocket的东西,今天抽空来看一下具体是怎么个通信过程. 从形式上看,websocket是一个应用层协议,socket是数据链路层. ...
- SQL Server DBCC命令大全
原文出处:https://www.cnblogs.com/lyhabc/archive/2013/01/19/2867174.html DBCC DROPCLEANBUFFERS:从缓冲池中删除所有缓 ...
- 浅谈maven setting.xml 设置的mirrorof标签作用。
https://blog.csdn.net/whbing1471/article/details/53983779 A 看这一段 背景:写好的java项目放置到linux服务器上进行编辑的时候,由于m ...
- Ablation Study
We often come across 'ablation study' in machine learning papers, for example, in this paper with th ...
- 老生常谈之js深拷贝与浅拷贝
前言 经常会在一些网站或博客看到"深克隆","浅克隆"这两个名词,其实这个很好理解,今天我们就在这里分析一下js深拷贝和浅拷贝. 浅拷贝 我们先以一个例子来说明 ...