级别: 初级 Paul Pacholski (pacholsk@ca.ibm.com), WebSphere 工具全球技术销售顾问
2002 年 4 月 20 日 本文描述了如何使用 IBM WebSphere Studio Application Developer 来发现和评估 Web 服务,以及 Application Developer Web 服务工具如何使 Web 服务的发现和评估变得快捷和简单。
©Copyright International Business Machines Corporation 2002. All
rights reserved.
简介
目前,我们已经可以从众多 UDDI 企业注册中心和其它与 UDDI 相容的资源库上获得许多有用的 Web 服务。但是,Web 服务发现和评估的任务可能很复杂,并且可能需要经常编写代码。这妨碍了许多程序员在 Web 应用程序中使用 Web 服务。本文描述了如何使用 IBM® WebSphere® Studio
Application Developer 来发现和评估 Web 服务,以及Application Developer Web 服务工具如何使 Web 服务的发现和评估变得快捷和简单。
使用 Application Developer 的 Web 服务发现和评估需要四个简单的步骤(如果不算初始设置的话,实际上是三步):
-
设置 WebSphere Studio Application Developer
-
连接至与 UDDI 相容的注册中心
-
发现 Web 服务并将其导入至 Application
Developer 项目
-
测试 Web 服务
本文中使用的唯一产品是 IBM WebSphere Studio
Application Developer, 版本 4.0.3 Windows® 版。
理解下面描述的过程不需要熟悉 Application Developer 的基本操作。
步骤 1. 设置 WebSphere Studio Application Developer
- 安装 WebSphere Studio Application Developer。
- 启动 WebSphere Studio Application Developer。
- 创建 Web 和 EAR(企业压缩文档(Enterprise Archive))项目。
我们现在将创建 Web 项目,用它来下载 WSDL 文件以及执行 Web 服务的单元测试和评估。我们还将创建 EAR 项目,它是将我们的单元测试 Web 应用程序(Test
Client)部署到 WebSphere v4.0 Test Environment 所必需的。
- 单击位于垂直 Perspective 工具栏上的
Open Perspective
来打开 Web Perspective。
- 要创建 Web 和 EAR 项目,从主工具栏,单击
Create
a Web project
。
- 在 Define the Web project 页面上,对于 Project name,输入
WebServicesEvaluation,
对于 Enterprise Application project name,输入
WebServicesEvaluationEAR。参阅下面的图 1。
图 1. 定义 Web 项目
- 单击
Finish以创建 Web 和 EAR 项目。
步骤 2. 连接至与 UDDI 相容的注册中心
Application Developer 中的 UDDI Explorer 工具使您能够在与 UDDI 相容的注册中心中发现或注册 Web 服务。通过使用 UDDI Explorer 可以访问任何与 UDDI V1 和 V2 相容的资源库。本文中,我们将访问
XMethods Web 服务资源库。XMthods 收集了大量来自许多供应商的 Web 服务。与 XMethods 的 UDDI V1
和 V2 相容的接口只允许查询和检索操作。
- 启动 IBM UDDI Explorer。
- 选择
WebServicesEvaluationWeb 项目。
在接下来的步骤中,将(您将发现的 Web 服务的)Interface WSDL 文件导入到 WebServicesEvaluation Web 项目的根目录。
- 从主菜单上选择
File => Import。
- 在 Select 页面上,选择
UDDI然后单击
Next。
- 在 UDDI Import 页面上,单击
Finish。这将启动 IBM UDDI
Explorer 工具。
几秒钟之后,您应该看到一个运行 UDDI Explorer Web 应用程序的 Web 浏览器窗口。参阅下面的图 2。
图 2. IBM UDDI Explorer
- 连接至 XMethods UDDI 企业注册中心。
- 在 UDDI Navigator 框架中,单击
UDDI Main链接。
- 在 Actions 框架中,对于 registry name 输入
XMethods,对于 Inquiry URL 输入
http://uddi.xmethods.net/inquire。
- 单击
Go。XMethods 项将被添加到 UDDI Main 树下。
- 在 UDDI Navigator 框架中,单击
XMethods链接。参阅下面的图 3。
图 3. XMethods UDDI 企业注册中心
- 要保存该链接以供将来之用,请在 Actions 框架工具栏中,单击
Add to favorites
。
步骤 3. 发现 Web 服务并将其导入到 Application
Developer 项目
在这一步中,您将根据 Web 服务的英语描述搜索它。
在我们深入探讨发现 Web 服务的细节之前,让我们先研究一下用 UDDI Explorer 发现 Web 服务的三种不同方法。第一种方法是 Find Business Entities(如下图 4 所示),建议您在知道企业实体并想知道该企业实体提供什么 Web 服务时使用。第二种是 Find Business Services,它让您根据 Web 服务的英语描述查找 Web 服务(及其接口 WSDL 文件)。
它在所有已注册的企业实体中搜索 Web 服务的描述。最后是 Find Business Interface,它等同于 Find Business Services,只是它查找 Service(也称为 Binding) WSDL 文件,而不是 Interface
WSDL file。
- 发现 Web 服务。
假定我们对提供按揭还款计算的 Web 服务感兴趣,并且我们不知道或者不关心 Web 服务供应商是谁。使用 IBM
UDDI Explorer,基于 Web 服务的描述查找 Web 服务的任务很简单。让我们使用 Find Business Services 功能。
- 在 UDDI Navigator 框架中,单击
Find Business Services链接。
图 4. 查找企业服务
-
- 在 Actions 框架中,对于 service Name,输入
%mortgage然后单击
Go
(% 是 UDDI 搜索的通配符)。等待片刻,让 UDDI
Explorer 搜索 XMethods Web 服务资源库并在 query results 文件夹中返回以下结果。
图 5. 查询结果
-
-
找到一个匹配项:Monthly Mortgage Payment Web 服务。
- 将 Web 服务导入到 Application Developer 项目。
- 在 UDDI Navigator 框架中,单击 query results 文件夹下的
Monthly Mortgage Payment链接。
- 在 Actions 框架中:
- 确保 Web 项目是 WebServicesEvaluation。
- 将 WSDL 文件从
temp.wsdl 改为
MortgagePayment.wsdl 。
- 单击
Go以将其导入 Application Developer。
图 6. WSDL 导入详细信息
步骤 4. 测试 Web 服务
您刚把服务 WSDL 文件(
MortgagePayment.wsdl )下载到了 WebServicesEvaluation 项目的根目录。参阅下面的图 7。
图 7. 导入的 WSDL 文件
在下面两个容易的步骤中,您将生成 Test Client 并评估 Monthly Mortgage Payment Web 服务来看它是否符合您的需求。
1. 创建 Web 服务客户机
- 从 Navigator 窗格选择
MortgagePayment.wsdl
文件,单击鼠标右键然后选择
New => Other。
- 在 Select 窗口中,从左边窗格选择
Web services并从右边窗格选择
Web service
client然后单击
Next。
- 在 Web service Client 窗口中,选择:
-
Generate a sample复选框。
-
Launch the sample复选框。
图 8. Web service Client 向导设置
-
如果每次导入 WSDL 文件时您指定了不同的文件,那您就无需选中
Overwrite files without warning。
- 单击
Finish。等待 Web 服务客户机向导退出;这可能要花一点时间。
现在让我们来研究生成了什么代码。
Java Proxy 类:
图 9. Java Proxy
它被用在 Test Client Web 应用程序中来同这个 Web 服务交互。以后您可以在您自己的代码中使用 Java Proxy 类来调用这个 Web 服务。
Test Client Web 应用程序:
图 10. Test Client
您将在下一步中使用这个生成的 Test Client Web 应用程序来测试 Web 服务。
带有 WebSphere 服务器实例与配置的服务器项目:
图 11. WebSphere 服务器实例与配置
这个服务器实例与配置用来运行 Test Client Web 应用程序。
使用步骤 3.2.b 中指定的 WSDL 文件名称对 Java Proxy(MortgagePayment)及 Test Client Web 应用程序的子目录进行命名。这使得将同一个 Web 项目用于下载和测试多个 Web 服务成为可能!
2. 测试并评估 Web 服务
Application Developer 已经切换到了 Server Perspective,并且 Web 服务客户机向导生成的 Test Client Web 应用程序也已为您启动。您现在准备好测试和评估 Web 服务。
图 12. Web 服务 Test Client
- 在 Methods 窗格里,单击
CalculatePayment链接。该链接代表由该 Web 服务提供的操作。
- 现在 Inputs 窗格显示 CalculatePayment 操作的请求消息部分。如图 13 中所示,输入所需的输入数据。
图 13. Web 服务 Test Client — Input 窗格
- 单击
Invoke以调用这个 Web 服务的 CalculatePayment 操作。您现在应该看到如下图 14 显示的 Results 窗格中的结果。
图 14. Web 服务 Test Client — Result 窗格
结束语
IBM WebSphere Studio Application Developer 使得发现、评估和测试 Web 服务非常容易。IBM
UDDI Explorer 工具使您能够发现在任何 UDDI V1 和 V2 相容的 Web 服务资源库中注册的 Web 服务并将其导入。强大的 Web 服务客户机向导执行评估 Web 服务所需的所有编程任务,包括生成可用于对 Web 服务进行单元测试的 Test Client web 应用程序。由于完成整个过程需要几分钟而不是几小时,因此当需要评估大量 Web 服务时,Application Developer 是一个理想的工具。
后续文章(使用 WebSphere Studio Application Developer 进行 Web 服务编程 — 第 2 部分)将很快发布。它将讨论测试 Web 服务时可能碰到的一些同 WSDL 有关的常见问题,并介绍克服这些问题的一些技术。
关于作者
对本文的评价
|