< 上一课 | 下一课 >

课程 3:创建 Web Service 客户机

在本课程中,您将了解如何为 Web Service 创建客户机。

在开始之前,必须先完成课程 2:创建 Web Service .
Web Service 客户机将从用于描述 Web Service 的部署位置以及此服务提供的操作的 WSDL 文档进行创建。您可以使用由 Web Service 向导生成的静态 WSDL 文件,或者在创建 JAX-WS Web Service 时,您可以使用运行时根据它从已添加到 Java 类的注释收集的信息生成的动态 WSDL 文件。对于本教程,将使用动态 WSDL 文件。

查看动态生成的 WSDL

如果服务器已启动,那么您应该能够快速测试已添加注释的 Bean 以确保它是 Web Service,并生成动态 WSDL 文件。
  1. 如果尚不知道,请确定 Web Service 正在使用的端口。要执行该操作:
    1. 通过在“服务器”视图中右键单击您的服务器并选择管理 > 运行管理控制台来启动 WebSphere Application Server 管理控制台。
    2. 展开服务器 > 服务器类型,然后选择 WebSphere 应用程序服务器
    3. 从列表中选择服务器名称。缺省情况下,服务器名称为 server1
    4. 在“配置”选项卡上,搜索“通信”标题并展开端口
    5. 使用的端口是 WC_defaulthost。本教程将使用示例端口号 9081。 在下列任何步骤中,请将此端口号替换为您自己的端口。
  2. 通过单击此图标来启动 Web 浏览器:出现在主工具栏中的 Web 浏览器图标
  3. 在浏览器中输入以下 URL:http://localhost:9081/jwsAddressBook/AddressBookService,然后单击“返回”。这时,将显示一个页面,用于说明这是 Web Service。
  4. 在步骤 3 中将 ?wsdl 添加至 URL 末尾,然后再次单击“返回”:http://localhost:9081/jwsAddressBook/AddressBookService?wsdl。 这时,将显示动态生成的 WSDL 文件。只要服务器处于运行状态,就可以像使用 Web Service 向导生成的静态 WSDL 文件那样使用此文件。

创建地址簿 Web Service 客户机并测试 JSP

  1. 单击文件 > 新建 > 其他。选择 Web Service 以显示各种 Web Service 向导。选择 Web Service 客户机向导。单击下一步
  2. Web Service 页面:在服务定义字段中,输入您在上一部分中发现的动态生成的 WSDL 文件的 URL:http://localhost:9081/jwsAddressBook/AddressBookService?wsdl
    1. 选择您要使用滑块完成的 Web Service 客户机开发阶段。对于本教程,请选择测试客户机。这将生成所有必需的客户机代码并提供适用于客户机的各种测试选项。
    2. 服务器:确保选择了 WebSphere V7.0 及更高版本的服务器。
    3. Web Service 运行时:确保选择了 JAX-WS 运行时。
    4. 客户机项目:选择在课程 1 中创建的客户机项目jwsAddressBookClient
    5. 客户机 EAR 项目:选择 jwsAddressBookEAR 对于 JAX-WS Web Service,服务器和客户机项目可以共享同一个 EAR。
    6. 监视 Web Service:这将发送 Web Service 流量并流经 TCP/IP 监视器,从而允许您监视 Web Service 生成的 SOAP 流量并测试此流量以检查 WS-I 一致性。TCP/IP 监视器不能监视受 RSP 策略集保护的 Web Service,所以请不要选择此选项。
    单击下一步
  3. WebSphere JAX-WS Web Service 客户机配置页面:
    • 输出文件夹:接受将在其中生成客户机的 Java 类的缺省文件夹。
    • 目标软件包:Web Service 客户机向导从指定的 WSDL 生成一些 Java 文件。缺省情况下,将根据 WSDL 文件中指定的名称空间创建包名。 要覆盖此缺省行为,您可以在 WSDL 文件中为名称空间指定自己的软件包名称。接受适用于本教程的缺省值。
    • 生成可移植客户机:选中此复选框允许您将 Web Service 客户机代码从一台机器移至另一台机器,或者从 WebSphere Application Server 的一个实例移至另一个实例。 它不是本教程必需的。
    • 启用对所生成的客户机的异步调用:如果选择启用异步客户机,那么将为 Web Service 中的每一种方法创建两个额外的方法。这两个方法是允许客户机异步工作的轮询和回调方法。选择此选项。
    • 指定 JAX-WS 或 JAXB 绑定文件:如果已创建了 JAX-WS 或 JAXB 定制绑定文件,请选中此复选框以使用它们来创建此 Web Service。对于本教程,请不要选择此项。
    • 定制客户机代理类名:您可以接受缺省代理名称,也可以输入自己的代理名称。对于本教程,请不要选择此项。
    • 生成模式库:选择此项将运行“JAX-WS 模式至 Java”编译器以生成模式。对于本教程,请不要选择此选项。
    • 生成 Web Service 部署描述符:对于 JAX-WS Web Service,将由运行时动态生成部署信息;不再需要静态部署描述符。 选中此复选框将生成它们。本教程不需要部署描述符。
    • 要生成的 JAX-WS 代码的版本:从 WebSphere Application Server V7.0 开始,您可以生成符合 JAX-WS 2.1 的代码。 对于本教程,请选择 2.1。
    单击下一步
  4. “Web Service 客户机测试”页面:
    • 测试所生成的代理:选择此选项以测试客户机的功能。
    • 选择测试工具。您可以在通用测试客户机或 Web Service 资源管理器中测试所生成的代理,也可以生成样本 JAX-WS 2.0 JSP。对于本教程,请选择 JAX-WS JSP。
    • 文件夹:您可以选择 JSP 所在的文件夹。 接受缺省值。
    • 方法:选择要显示的方法。应该也列示异步方法。请确保已选择所有方法。
    • 在服务器上运行测试:选择此选项将自动为您启动服务器。
    单击完成。样本 JSP 将在浏览器窗口中打开。

使用样本 JSP 测试 Web Service 客户机

下列步骤将以异步方式测试 Web Service。
  1. 如果已选择正确的选项,那么应该自动启动 TestClient.jsp。如果未显示该文件,请选择 jwsAddressBookClient/WebContent/sampleAddressBookPortProxy/TestClient.jsp,单击鼠标右键并选择运行方式 > 在服务器上运行
  2. 要通过异步方式测试服务,请选择 saveAddress 方法并在名称字段中输入信息。所有其他字段都是可选字段。单击调用
  3. 选择 findAddress 方法,输入您在执行 saveAddress 方法期间使用的名称,然后单击调用。由 saveAddress 方法保存的信息应显示在结果窗格中。
  4. 要以异步方式测试服务,请在“服务质量”窗格中选中启用异步调用复选框。
  5. 选择 findAddress 方法,输入您在执行 saveAddress 方法期间使用的名称,然后单击调用
  6. 这时,将显示一个新链接,以指示该方法正在进行。单击该链接可在“结果”窗格中显示方法响应。

测试 Web Service 之后,请将 JSP 保持打开,以便在 Web Service 和客户机受到保护之后,您可以再次测试该服务。

课程要点

< 上一课 | 下一课 >
指示主题类型的图标 教程课程主题
信息中心的条款和条件 | 反馈

时间戳记图标 最近一次更新时间: 2014 年 4 月 17 日

文件名:jaxwstd_exercise13.html