使用 Rational Application Developer 构建 HTTPS Web 服务: 第 1 部分:Web 服务与 Web 服务客户机

使用 IBM® Rational® Application Developer Version 6.0.1.1 及更高版本构建使用传输级别安全性 (HTTPS) 的安全 Web 服务。在本系列的第 1 部分,您将为计算器应用程序构建 Web 服务。您将生成并测试两种不同类型的 Web 服务客户机:J2EE 客户机和 J2SE 客户机。

Henry Cui (henrycui@ca.ibm.com), 软件工程师, IBM Toronto Lab

Henry Cui photoHenry Cui 在 IBM 多伦多实验室的 Rational Application Developer 技术支持团队工作。他是 Rational Application Developer Web 服务工具支持团队的专家。他已经帮助很多客户解决过关于 Web 服务的设计,开发以及移植的问题。



2006 年 12 月 05 日

开始之前

关于本系列

本系列将说明如何使用 IBM Rational Application Developer(以下称为 Application Developer)开发和配置 HTTPS Web 服务。

HTTP 是 Internet 上最常用的信息交换协议,是具有内在不安全因素的协议,因为所有的信息都是以明文的方式通过不安全的网络在未经身份验证的对等级之间传递。

HTTPS 表示 HTTP via SSL(安全套接字层,Secure Sockets Layer),允许通过证书进行客户端和服务器端的身份验证。SSL 是以加密形式在 Internet 上传输通信内容的协议。SSL 可确保以不加更改的方式将信息仅发送到预期的服务器。HTTPS Web 服务可以应用于所有客户机类型,包括 Java™ 2 Enterprise Edition (J2EE) 客户机和 Java 2 Platform Standard Edition (J2SE) 客户机。

HTTPS 是传输级的安全机制。可以将其与消息级安全性 (WS-Security) 结合使用。作为一项成熟的技术,SSL 广泛用于今天的生产系统中。

关于本教程

在本系列教程的第 1 部分,您将了解以下内容:

  • 开发 Web 服务 J2EE 客户机
  • 开发 Web 服务 J2SE 客户机

这将为本系列教程的第 2 部分(您将在其中了解如何配置 HTTPS Web 服务)打好基础。在第 2 部分,您将了解以下内容:

  • 使用针对 Web 服务和 Web 服务客户机的 iKeyman 创建密钥存储区、信任存储区和证书。 将服务器证书导入到客户机信任存储区中。 将客户机证书导入到服务器信任存储区中。
  • 为 Web 服务提供者创建 SSL 配置。
  • 为 Web 服务客户机创建 SSL 配置。
  • 修改 Web 容器,从而为 Web 服务提供者使用新 SSL 配置。
  • 配置 Web 服务客户机部署描述符。
  • 从 J2EE 客户机测试 HTTPS Web 服务。
  • 从 J2SE 客户机测试 HTTPS Web 服务。

目标

了解如何使用 Rational Application Developer 开发 Web 服务,以及如何开发 J2EE Web 服务客户机和 J2SE Web 服务客户机。

系统要求

您需要具有最新 Fix 的 Application Developer v6.0.1.1。如果您不确定您的 Application Developer 是否为最新的版本,请转到 IBM Rational Product Updater(以下称为 Product Updater)确定是否有新的更新可用。您可以通过以下路径启动 Product Updater:Windows“开始”菜单 >“所有程序”>“IBM Rational”>“Rational Product Updater”。启动了 Product Updater 后,可单击“Find Updates”确定是否有新更新可用。

您还需要对集成 IBM WebSphere® Application Server v6.0 测试环境进行更新。缺省情况下,随 Application Developer 提供的集成 WebSphere Application Server v6.0 测试环境的版本为 6.0.0。您需要将 WebSphere 测试环境更新到 6.0.2.5 或更高版本。如果您从未升级过您的 WebSphere 测试环境,可以使用 Product Updater 进行升级。相应的更新可以在 Product Updater 的“Option Features”部分找到。


部分 1:开发 Web 服务和 Web 服务 J2EE 客户机

  1. 启动 Application Developer
  2. 在 Application Developer 中启用 Web 服务开发功能。单击 Window > Preferences > Workbench > Capabilities,选中 Web Service Developer 下的所有功能,单击 OK
    图 1. Preferences 页
    Preference 页
  3. 选择 File > New> Dynamic Web Project,输入 CalculatorWeb
    图 2. New Dynamic Web Project 向导
    New Dynamic Web Project 向导
  4. 如果提示下面的窗口,请单击 No。我们将继续使用 J2EE 透视图。
    图 3. Confirm Perspective Switch 对话窗口
    Confirm Perspective Switch 对话窗口
  5. Servers 视图中,右键单击 WebSphere Application Server v6.0 并选择 Start
  6. 右键单击 CalculatorWeb 项目,选择 New > Class,输入 com.ibm 作为 Package 名称,输入 Calculator 作为 Java 类的 Name 值。
    图 4. 创建 New Java Class
    New Java Class
  7. 将以下代码粘贴到 Java 编辑器中,并保存
    清单 1. Calculator.java
    package com.ibm;
    
    public class Calculator {
    	public Calculator() {
    	}
    
    	public double add(double i, double j) {
    
    		return i + j;
    	}
    
    	public double subtract(double i, double j) {
    		return i - j;
    	}
    
    }
  8. 右键单击 Java 类 Calculator,选择 New > Other ...> Web Service,单击 Next
    图 5. New Web Service 向导
    New Web Service 向导
  9. Web Services 包中,选中 Generate a proxyTest the Web ServiceOverwrite files without warning,单击 Next
    图 6. Web Services 页
    Web Services 页
  10. Object Selection Page 中单击 Next
    图 7. Object Selection 页
    Object Selection 页
  11. Service Deployment Configuration 页中,您将看到缺省客户机类型为 Web。接受缺省设置,并单击 Next
    图 8. Service Deployment Configuration 页
    Service Deployment Configuration 页
  12. 继续单击 Next 按钮,直到出现 Finish 为止。现在可以单击 Finish 按钮。不过,Web 服务代码生成是相当密集型的操作。如果您现在单击 Finish 按钮,可能要等待一定时间才能看到新的活动。我更愿意单击 Next 按钮查看代码生成的进度。
  13. 片刻之后,将出现 sample JSP test client。单击 addsubtract 方法进行测试,以确保 Web 服务正常工作。
    图 9. Sample JSP test client 页
    Sample JSP test client 页

部分 2:开发 Web 服务 J2SE 客户机

启动 WebSphere Application Server 6.0.2(以下称为 Application Server),Application Server 提供了一个非常不错的功能,即 Web 服务瘦客户(Web Services Thin Client,WSTC)。您可以使用 WSTC 从客户机库调用 Web 服务而不会带来 J2EE 容器开销。此功能打包在 ibm-jaxrpc-client.jar 中。如果您将 Application Developer 6 内的 WebSphere Test Environment 升级到 6.0.2 及更高版本,则此 Jar 文件位于您的 %Application Developer install root%\runtimes\base_v6\runtimes 目录中。

  1. 启动 Application Developer。
  2. Project Explorer 中,展开 CalculatorWeb 项目,右键单击 WebContent/wsdl/com/ibm 文件夹下的 Calculator.wsdl,选择 Web Services > Generate client
  3. Web Services page 中单击 Next
  4. Web Services Selection page 中单击 Next
  5. client Environment Configuration page 中,选择 Java 作为 Client type,并输入 CalculatorJavaClient 作为 Client project 名称。Web 服务客户机将在 Java 项目中生成。
    图 10. Web Service Client Environment Configuration 页
    Client Environment Configuration 页
  6. 单击 Next,然后单击 Finish
    Project explorer 中展开 Other Projects,将看到生成了 CalculatorJavaClient 项目,其中包括 Web 服务客户机构件。
  7. 右键单击 CalculatorJavaClient 项目,选择 Properties,选择 Java Build Path,单击 libraries 选项卡,删除“WebSphere v6.0 runtime”条目,然后单击 Add External JARs.. 按钮,添加 ibm-jaxrpc-client.jar(位于 %Application Developer install root%\runtimes\base_v6\runtimes 目录中)。
    图 11. Java Build Path 页
    Java Build Path 页
  8. CalculatorJava 项目中,创建 Java 类 TestCalc.java(该类使用生成的代理),将以下代码复制/粘贴到编辑器中。
    清单 2. TestCalc.java
    package com.ibm;
    
    public class TestCalc {
    	public static void main(String[] args) throws Exception {
    		try {
    			CalculatorProxy proxy = new CalculatorProxy();
    			System.out.println("2 + 2 = " + proxy.add(2, 2));
    			System.out.println("2 - 2 = " + proxy.subtract(2, 2));
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    }
  9. 右键单击 TestCalc.java,选择 Run > Java Application。您将看到在控制台显示了正确的结果:

    2 + 2 = 4.0
    2 - 2 = 0.0

结束语

很好!您已经在 Application Developer 中完成了 Web 服务和 Web 服务客户机的创建工作。在第 2 部分,您将了解如何配置 HTTPS Web 服务。


下载

描述名字大小
Web services sample codesamplecode.zip44KB

参考资料

学习

获得产品和技术

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=SOA and web services, Rational
ArticleID=181658
ArticleTitle=使用 Rational Application Developer 构建 HTTPS Web 服务: 第 1 部分:Web 服务与 Web 服务客户机
publish-date=12052006