7.1 项目概述
本项目取自于实际的工作项目,它将Web Service应用在SOA架构中,通过Web Service接口为服务请求者提供服务。各个独立服务提供商作为服务请求者调用Web Service,将服务与各自的应用集成,从而实现了整体的SOA架构。
本项目中Web Service服务端使用Axis2方式实现。Web Service的安全性遵守 WS-Security规范,但是只实现XML Signature,使用X.509证书,保密性采用硬件SSL的方式取代XML Encrytion规范。数据库使用Oracle。接下来的内容结合实际工作给出了一个Web Service接口的完整测试解决方案。值得说明的是,与第6章实践重视设计和分析不同,本章的实践项目重在展示Web Service接口测试的完整流程。
在介绍本项目的Web Service接口测试之前,先了解一下测试环境的部署。环境的部署可以分成两个部分。
1.配置服务器环境
这里需要安装JDK、代码版本配置管理工具(这里以SVN为例)、Web服务器、构建集成工具,并设置相关的环境变量。
2.构建Web Service
首先需要取出代码以及依赖的库文件;接着运行脚本完成所有代码的构建;最后启动Web Service服务。实际项目中Web Service服务端的部署包括接口服务器的启动、证书的准备等环节。因为相应的代码已经通过配置实现了自动化,这里只需要将相关代码取出完成构建即可。
本项目Web Service提供的服务涉及登录、计费等功能。以计费功能为例,该功能暴露了余额检查、冻结、结算等接口服务,本章接下来均以余额检查(checkBalance)方法为例。
checkBalance伪代码如下:
代码7.1 checkBalance伪代码
01 public String checkBalance(String appId, String appInstanceId, 02 double checkAmount) { 03 04 try { 05 1. 校验参数合法性 06 07 2. 根据appId和appInstanceId找到合法应用 08 09 3. 根据应用找到用户对应的账户 10 11 4. 查询并返回账户的余额 12 13 5. 将返回余额与标准金额对比,返回比较后的结果 14 15 } catch (Exception e) { 16 捕获并处理各种异常 17 } |