使用Spring的Web服务模拟器框架解决方案 - 编程入门网
指示板传递数据、生成请求对象和调用特定的模拟器服务。
模 拟器服务层 模拟器服务层负责生成请求对象,该对象会返回到进行调用的客户端服务。该层从请 求中提取关键值,请求将会传递到处理层,后者用于检索 XML 文件中相关的测试数据。在处理层中,将 会在返回响应前应用生成正确响应所必需的全部业务逻辑。 处理层 处理层将会使用模拟器 服务提供的键值来确定需要检索的 Spring XML 文件。检索完成后,Spring BeanFactory 将会使用该 XML 文件并将数据转换成已定义的 POJO,后者将被返回给模拟器服务层。处理层的另一个作用是引入处 理延迟,这样可以模拟不同类型的事务延迟。 数据层 数据层是 XML 文件的储存库,这些 文件用来表示 Web 服务响应对象。这些 XML 文件定义了简单、一致的方法来生成 JavaBean 对象,这些 对象可由符合 spring-beans-2.0.dtd 标准的 Spring BeanFactory 管理。对 XML 文件的检索由 Spring File System Resource 处理,并使用 Spring XmlBeanFactory 类将 XML 文件转换为已定义的 POJO。 WebSphere 资源提供者 WebSphere 资源提供者被用作一个存储解决方案,用于维护模拟器 解决方案中使用的动态配置值。可使用管理控制台添加、修改、部署值,从而可以在单独或集群环境中实 现轻松的维护。 图 8. 模拟器框架图解 技术实现步骤 以下是一个创建模拟器应用程序示例的详细步骤: 从提供的 WSDL 中生 成 Web 服务工件。 生成指示板 UI 组件以捕获输入。 在 RPC 配置中映射服务的实现、方 法、输入参数。 生成客户端实现以收集请求对象并将其传递给模拟器服务。 生成模拟器服 务,将业务规则运用到生成的响应对象上。 生成 Spring XML 数据文件,此文件将会被转换成响 应对象。 配置 WebSphere Environment Provider 值以支持应用程序。 Web 客户端和服务 Web 服务是模拟器框架的基础。此前已定义的 WSDL 用来生成 Web 服务工件,将在 Web 服务工 件之上进行构建来提供执行模拟器业务用例所需的功能。用客户端实现这些内容后,就创建了最基本的 WSDL 和基于 WSDL 的 Web 服务客户端。以下步骤将指导您根据一个 WDSL 示例生成 Web 服务。 使用 Rational Application Developer (RAD) 平台,通过向导工具快速生成 Web 服务和客户端。 使用Spring的Web服务模拟器框架解决方案(6)时间:2011-08-09 IBM Anthony AllegriWeb 服务创建 在 RAD 内,创建一个包含 Web 服务和模拟器支持工件的新 Web 项目。 图 9. 创建动态 Web 项目 在项目的 “src” 树下添加 “wsdl” 文件夹。添加表示要模拟的 Web 服务的 WSDL。添加 WSDL 中提供的相关的 namespace-to-package 属性文件以用于生成服务和客户端。 图 10. 支持资源 文件 右键单击 WSDL 并选 择 Web Services > Generate Java bean skeleton,创建 Web Service。将打开 Web Service Wizard。 图 11. 创建 Java bean 骨架 使用Spring的Web服务模拟器框架解决方案(7)时间:2011-08-09 IBM Anthony Allegri确认 Web Service 向导设置。通常使用默认值。 图 12. 验证 Server、Service Project 和 EAR 选择 将名称空间映射到包的选项,这在生成的对象中提供了一种更友好的包结构。 图 13. 验证源文件夹并 选择自定义映射 单击 Import 导入名 称空间和包,然后单击 Finish。 图 14. 将名称空间导入到包定义中 单击 Finish 后,Web 服务的客户端和服务端所需的对象就生成了。新的对象将会显示在选中包名下创建的项 目中。 使用Spring的Web服务模拟器框架解决方案(8)时间:2011-08-09 IBM Anthony Allegri模拟器指示板 模拟器指示板提供用于测试模拟器服务的 UI 组件。对于要进行测试 的每 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |