-->全文字数: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服务的步骤和说明:
-
首先,创建一个具有业务方法定义的JAVA接口。为了将此接口与Web服务相关联,请使用我在项目中演示过的注释“ @WebService”和“ SOAPBinding(style = Style.DOCUMENT)”。
-
其次,创建一个实现上述接口及其业务方法的类。同样,为了将其与Web服务相关联,请使用注释“ @WebService与接口位置”和“ SOAPBinding(style = Style.DOCUMENT)”,如项目中所示。
-
第三,发布此Web服务以公开业务逻辑。
-
一旦发布,就可以在此链接上获得WSDL。HTTP://本地主机:8074 /网络WSDL
-
现在创建一个客户端类,通过该客户端类可以获取此服务业务方法以执行业务逻辑。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工具