使用 WSDL2Client 工具创建 Web Service 客户机

WSDL2Client 工具从一个或多个 WSDL 文档生成完全可部署的 Web Service 客户机并且有选择地把它们部署到应用程序服务器。

先决条件:

分四个阶段用该工具:

  1. 运行此工具并指定 -project 自变量,以便为由特定 WSDL 文档描述的 Web Service 创建框架客户机实现模板。
  2. 在模板中编写实现代码并使用第 1 阶段生成的构建脚本来编译该代码。
  3. 如果指定了 -clientType J2SE 选项,并且指定了 -genMain 选项,则使用第 1 阶段生成的运行脚本来运行客户机。
  4. 如果指定了 -clientType 选项作为“应用程序”、EJB 或 Servlet,再次运行此工具并指定 -createEar 自变量,以从此实现来构建启用了 Web Service 客户机的归档,然后将它部署到应用程序服务器。

命令行设置

在使用 WSDL2WebServiceClient 工具之前,必须设置 Web Service 命令行,如下所示:

  1. 从命令提示符切换至 Rational® Developer 产品的 bin 目录。
  2. 运行以下批处理脚本:
    • Windows®setupenv.bat
    • Linux:setupenv.sh
  3. 切换至要创建 Web Service 的目录。我们将把此目录称为命令行测试目录。 Linux:必须具有对此目录的写访问权。

现在,可以运行 WSDL2WebServiceClient 工具的第 1 阶段了。

创建框架 Web Service 客户机实现

注意:WSDL2Client 工具有两个版本。如果运行 WSDL2Client 命令,该命令将使用 J2EE 1.4。也可以使用 WSDL2Client 命令,该命令将使用 J2EE 1.3。如果想要创建使用 J2EE 1.3 的 Web Service 客户机,则在下列任何命令中都可以用 WSDL2Client13 代替 WSDL2Client

要创建框架 Web Service 客户机实现,请在命令提示符处输入以下命令:

要点:
  • 最后一个自变量必须是 <WSDL URI>,它区分大小写。请参阅 WSDL2Client 工具以获取可选自变量和必需自变量的列表。
  • 如果您打算按如下所述创建支持 Web Service 客户机的归档,则在创建框架 Web Service 客户机实现时必须指定 -clientType 自变量。

提示:请记录命令行测试目录路径和对 -project 指定的名称。以后,您将需要此信息来部署和测试 Web Service。

在以 -project <ProjectDir> 自变量运行该工具之后,将在指定的项目之下创建称为“client-side”的目录,该目录包含数个子目录。这些子目录包含所有必需的 Java 模板(包括复杂类型的序列化器和反序列化器类)以及构建 Web Service 实现所需的部署描述符。如果指定了 -clientType 和 -genMain 选项,则还将发现为客户机类型生成了 main 类实现模板。

还将生成称为 buildclient 的构建脚本以帮助您编译所有这些代码。如果以 -clientType J2SE 自变量运行了该工具,则还会生成称为 runclient 的运行脚本。

编译实现代码

要编译代码:
  1. 切换至 <ProjectDir> 目录,然后切换至 client-side 目录。
  2. 如果实现代码具有依赖项,如 .jar 文件或包含 .class 文件的目录,请编辑编译脚本并将这些依赖项的完整路径名添加至 USER_CLASSPATH 变量。例如:
    • Windows:set USER_CLASSPATH = c:\MyJars\webservice.jar;c:\MyClasses
    • Linux:USER_CLASSPATH = /home/MyJars/webservice.jar:/home/MyClasses
  3. 输入以下命令:buildclient

运行 J2SE Web Service 客户机

要运行 J2SE Web Service 客户机:
  1. 切换至 <ProjectDir> 目录,然后切换至 client-side 目录。
  2. 如果实现代码具有依赖项,如 .jar 文件或包含 .class 文件的目录,请编辑编译脚本并将这些依赖项的完整路径名添加至 USER_CLASSPATH 变量。例如:
    • Windows:set USER_CLASSPATH = c:\MyJars\webservice.jar;c:\MyClasses
    • Linux:USER_CLASSPATH = /home/MyJars/webservice.jar:/home/MyClasses
  3. 输入以下命令:runclient

创建启用了 Web Service 客户机的归档

要创建启用了 Web Service 客户机的归档:
  1. 切换至 <WSDK-install-dir>/bin 目录。
  2. 输入以下命令:WSDL2Client [<optional arguments>] -createEar <File.ear> -clientType <Application | EJB | Servlet> <ProjectDir>
要点:
  • 最后一个自变量必须是 <ProjectDir> 并且必须包含“client-side”目录。
  • 要成功运行 -createEar 自变量,在创建框架 Web Service 客户机实现时必须指定 -clientType 自变量,如在此任务中先前描述的那样。

在编写实现代码、编译该代码并在指定 -createEar <File.ear> 自变量的情况下再次运行此工具之后,输出将是新的或更新的 EAR 文件。您还将注意到,已将实现 Web Service 的客户机端类移至 META-INF\classes 目录中,这是通常的位置。如果指定了 -clientType Servlet,则将注意到客户机端类已被移至 WEB-INF\classes 目录。

一旦生成了 EAR 文件,就可以将其部署到服务器以供他人使用。为此,请参阅:使用命令行工具将 Web Service 部署到服务器

使用条款 | 反馈
(C) Copyright IBM Corporation 1999, 2005. All Rights Reserved.