-->全文字数:2254,需要占用你几分钟的阅读时间 ,您也可以收藏后,时间充足时再阅读-


->第一节讲了《Web服务基础介绍》,第二节讲了《Web服务测试工具》

->本节介绍Web服务样本项目和测试。

一.Web服务样本项目:(SOAP协议)

SOAP是基于XML的协议:

  • SOAP的完整形式是简单对象访问协议。

  • 为了在跨平台的两个应用程序之间进行通信,SOAP是W3C的建议。

  • SOAP是与平台和编程语言无关的协议。

软件要求:以下是在JAVA中构建Web服务项目的基本要求:

  • Jre1.8.0_25作为JAVA运行时环境。

  • Eclipse IDE作为开发工具。

  • 一个标准的HTTP浏览器,例如Chrome等。这将有助于查看WSDL。

二. 使用文档样式的SOAP Web Service项目

可以从菜单【素材资料】-【源码素材】处获取SOAP Web Service的项目文件,格式为“ webservice-project-doc-style” 。以下是运行SOAP Web服务的步骤和说明:

  1. 首先,创建一个具有业务方法定义的JAVA接口。为了将此接口与Web服务相关联,请使用我在项目中演示过的注释“ @WebService”和“ SOAPBinding(style = Style.DOCUMENT)”。

  2. 其次,创建一个实现上述接口及其业务方法的类。同样,为了将其与Web服务相关联,请使用注释“ @WebService与接口位置”和“ SOAPBinding(style = Style.DOCUMENT)”,如项目中所示。

  3. 第三,发布此Web服务以公开业务逻辑。

  4. 一旦发布,就可以在此链接上获得WSDL。HTTP://本地主机:8074 /网络WSDL

  5. 现在创建一个客户端类,通过该客户端类可以获取此服务业务方法以执行业务逻辑。Web Service客户端类使用上述WSDL URL访问WSDL,然后获取目标名称空间的合格名称和Web Service名称。使用这两种服务方法都可以访问端口,这是将Web服务作为客户端调用的过程。

以上所有步骤均在Web Service项目中以DOCUMENT样式进行了演示。

三. 使用RPC样式的SOAP Web服务项目

SOAP Web Service的附件项目文件为“ webservice-project-rpc-style”,可以从菜单【素材资料】-【源码素材】处获取。以下是运行SOAP Web服务的步骤和说明:

  • 首先,创建一个具有业务方法定义的JAVA接口。为了将此接口与Web服务关联,请使用注释“ @WebService”和“ SOAPBinding(style = Style.RPC)”。

  • 其次,创建一个实现上述接口及其业务方法的类。同样,为了将其与Web服务关联,请使用批注“ @WebService与端点接口位置”和“ SOAPBinding(style = Style.RPC)”。

  • 第三,发布此Web服务以公开业务逻辑。

  • 一旦发布,就可以在此链接上获得WSDL。HTTP://本地主机:8075 /网络WSDL

  • 现在创建一个客户端类,通过该客户端类可以获取此服务业务方法以执行业务逻辑。Web Service客户端类使用上述WSDL URL访问WSDL,然后获取目标名称空间的合格名称和Web Service名称。使用这两种服务方法都可以访问端口,这是将Web服务作为客户端调用的过程。

  • 在RPC样式的Web服务项目中,演示了所有上述步骤。

RPC样式WSDL:

文档样式WSDL:

四. 文档和RPC样式区别

五. SOAP Web服务的优缺点

优点:

  • SOAP具有自己的内置安全性,称为WS安全性,因此受到高度保护。

  • 如上所述,可以使用任何编程语言(如.Net,JAVA等)构建SOAP Web服务,并可以跨平台执行。

缺点:

  • 由于SOAP Web服务是基于XML的格式,因此需要读取和解析XML文档。最重要的是,构建这样的Web服务时必须遵循许多定义的标准。这会减慢SOAP Web服务的运行速度,并占用更多带宽和资源。

  • WSDL是定位SOAP Web服务的唯一机制。因此它不是很灵活。

六. 有关Web服务测试的信息

以上,我们了解了如何使用样式RPC和DOCUMENT样式构建SOAP Web服务;接下来我们将讨论有关Web服务测试的信息。

Web服务测试:在前两章节中,我们讨论了用于测试Web服务和Web API的SoapUI工具以及Web服务测试中实际涉及的测试步骤。在这里,我们将在上面的示例Web服务项目的帮助下详细讨论这些步骤:

  • WSDL文件定义理解:使用Web服务创建WDSL之后,将编写测试用例以测试WSDL中存在的必需标准,例如它是哪种样式?是否涵盖所有必需的输入参数?这些输入参数的数据类型是什么?等等

  • Web Service提供的操作:测试用例涵盖了为其开发的Web Service中存在的必需操作。它是否以正确的方式涵盖了所需的业务逻辑?

  • 作为SOAP请求消息发送的XML请求消息格式:测试用例,涵盖输入数据,数据类型,边界条件验证,堆栈溢出验证,功能测试用例等。

  • 以SOAP响应消息的形式接收到的XML响应消息格式:测试用例涵盖了输出数据及其类型,输出数据验证,堆栈溢出验证,安全性测试,功能测试用例等。

  • 一个简单的本地工具或测试程序,可以发送XML消息请求并以XML消息响应的形式接收请求:这是指为了测试WebService,我们需要开发一个客户端程序,通过该程序我们可以将输入数据作为请求发送并测试接收到的作为响应的输出数据。

这些是测试任何Web服务的基本测试方面,无论它以哪种样式编写。后面,我们将讨论如何使用SoapUI工具测试WebService。另外,我们还将首先学习安装和配置SoapUI工具

如何测试Web服务.3的更多相关文章

  1. 利用python httplib模块 发送Post请求测试web服务是否正常起来!

    最近在学习python,恰好老大最近让我搞个基于post请求测试web服务是否正常启用的小监控,上网查了下资料,发现强大的Python恰好能够用上,所以自己现学现卖,顺便锻炼下自己. 由于本人也刚接触 ...

  2. 如何测试Web服务.2

    -->全文字数:2700,需要占用你几分钟的阅读时间 ,您也可以收藏后,时间充足时再阅读- -->上一节讲了<Web服务基础介绍>,本节介绍可用于测试web服务的开源测试工具. ...

  3. 如何测试Web服务.1

    一.什么是web服务  web服务在简单术语中可被定义为通过安装了特定设备或服务器到另一装置或客户端应用程序通过WWW彼此通信后的应用程序(万维网)提供的服务. Web服务通常在计算机网络的应用层上使 ...

  4. C#测试web服务是否可用

    winform客户端经常需要调用webservice或者WCF进行数据交互,但是远程服务有可能不存在或者服务器不可用,客户端只能通过超时或者捕获到异常感知服务不可用.其实有一个COM借口可用快速的检测 ...

  5. 测试Web服务接口

    1. http://www.iteye.com/topic/142034 2. http://www.iteye.com/topic/1123835 3.http://yongguang423.ite ...

  6. 12个强大的Web服务测试工具

    在过去的几年中,web服务或API的普及和使用有所增加. web服务或API是程序或软件组件的集合,可以帮助应用程序进行交互或通过形成其他应用程序或服务器之间的连接执行一些进程/事务处理.基本上有两种 ...

  7. WCF:为 SharePoint 2010 Business Connectivity Services 构建 WCF Web 服务(第 1 部分,共 4 部分)

    转:http://msdn.microsoft.com/zh-cn/library/gg318615.aspx 摘要:通过此系列文章(共四部分)了解如何在 Microsoft SharePoint F ...

  8. 混合使用Azure LB和ILB访问相同web服务(1)

    在经典的使用场景中,我们一般使用AzureLoadBalancer来面向公网提供负载均衡服务,而使用Azure Internal Load Balancer提供内部那些不愿意将服务暴露给公网的服务,比 ...

  9. 在 SQL Server 的存储过程中调用 Web 服务

    介绍 一个老朋友计划开发一个应用,基于 .NET 和 Socket,但需要在存储过程中调用 Web 服务. 在这篇文章中我们将分享这个应用的经验,讲述如何在存储过程中调用 Web 服务,并传递参数. ...

随机推荐

  1. Ubuntu 16.04安装ANSYS 2019 R1

    参考:<ANSYS15.0 for Linux下载及安装教程> 参考链接: https://wenku.baidu.com/view/92bdf21b312b3169a451a4b5.ht ...

  2. vultr的防火墙注意事项

    如下图所示,你设置让任意IP的TCP,UDP,GRE,ESP,ICMP都允许访问,并不表示开放了任意协议和端口了. 下图只是表示开放了TCP,UDP,GRE,ESP,ICMP五个协议,比如ROS路由的 ...

  3. ASP.NET 网站迁移 HTTP 错误 500.22 - Internal Server Error 检测到在集成的托管管道模式下不适用

    前提:今天要做网站迁移,把A服务器上的网站迁移到B服务器上,A服务器当时的环境是.NET 4.0 ,而B服务器是.NET2.0,A服务器IIS为6.0,B服务器IIS版本为7.0  第一步,先在B服务 ...

  4. Docker是什么?可以用Docker做什么

    其实可以把Docker理解成一个专门为应用程序与执行环境的轻型虚拟机. Docker的思想来自于集装箱,集装箱解决了什么问题?在一艘大船上,可以把货物规整的摆放起来.并且各种各样的货物被集装箱标准化了 ...

  5. Qt应用开发常见问题

    Qt判断当前操作系统? 可使用宏判断,例如: #ifdef Q_OS_MAC //mac ... #endif #ifdef Q_OS_LINUX //linux ... #endif #ifdef ...

  6. OpenMark

    what's open mark??? http://www.open.ac.uk/openmarkexamples/

  7. NER(BiLSTM+CRF,Keras)

    数据集为玻森命名实体数据. 目前代码流程跑通了,后续再进行优化. 项目地址:https://github.com/cyandn/practice/tree/master/NER 步骤: 数据预处理: ...

  8. 59 网络编程(一)——端口与InetSocketAddress

    端口与几个CMD命令 公认端口:0-1023 比如80端口分配给www,21端口分配给FTP等 注册端口:2014-49151  分配给用户进程或引用程序 动态/私有端口:49151-65535 需要 ...

  9. 什么是 Shell?

    简单来说“Shell编程就是对一堆Linux命令的逻辑化处理”. Shell 编程的 Hello World 学习任何一门编程语言第一件事就是输出HelloWord了!下面我会从新建文件到shell代 ...

  10. vue mint-ui 框架下拉刷新上拉加载组件的使用

    安装 npm i mint-ui -S 然后在main.js中引入 import MintUI from 'mint-ui' import 'mint-ui/lib/style.css' Vue.us ...