WSDL2WebService 工具参考

可以从命令行使用 WSDL2WebService 工具来通过使用 IBM® WebSphere® 运行时环境从 WSDL 文件生成 Web Service。

语法

一旦设置了命令行,就可以使用以下语法和自变量来运行此工具:

要创建框架 Web Service 实现:

注意:最后一个自变量必须是 <WSDL URI>。

要创建启用了 Web Service 的归档:

自变量

注意:已除去 -input 选项。所有导入的 XSD 和 WSDL 文档都必须与 <WSDL URI> 指定的 WSDL 文件位于同一个目录中。

框架 Web Service 实现

必需自变量:

-createService <ServiceName>
指定 Web Service 的唯一名称。此名称用作 Web Service 的上下文根。
-project <ProjectDir>
为输出指定目标项目目录的标准路径名。缺省值是当前目录。
- <WSDL URI>
指定描述 Web Service 的 WSDL 文件的位置。这可以是远程位置,也可以位于本地文件系统上。

可选自变量:

-host <HostName:PortNumber>
指定要部署 Web Service 的主机名和端口号。缺省值是 localhost:6080
-genResolver
生成导入解析器,它包含导入的 XSD(XML 模式)文件的所有信息。有关此参数的更多信息,请参阅注释 1
-clientType <J2SE | Application | Servlet | EJB>
为指定的客户机类型生成框架实现类。此自变量只能与 -genMain 自变量配合使用。如果已经指定了 -server-side-only 自变量,则不能使用此自变量。
-clientEJBName <EJB client filename>
使用客户机 EJB 文件中的信息来配置带有客户机应用程序名称的客户机端 webservicesclient.xml 描述符。如果没有提供此自变量,则必须手工编辑 webservicesclient.xml,然后才能将其添加至客户机 EJB 文件。
-genMain <name of main class>
指定要生成的 main 类的名称。此自变量只能与 -clientType 自变量配合使用。如果已经指定了 -server-side-only 自变量,则不能使用此自变量。
-contextRoot<ContextRoot>
指定 Web Service 的上下文根。缺省值为 <ServiceName>。
-type <EJB | Bean>
生成专门用于 Java™ bean 或 EJB 实现的模板。缺省情况是为 Java bean 创建那些模板。
-NStoPkg <list>
指定由空格隔开的一列“名称空间 = 包”的映射,这些映射用来覆盖所生成的 Java 模板类的缺省包名。
-fileNStoPkg <propertiesFile>
指定包含“名称空间 = 包”映射的属性文件的标准路径名。

注意:当使用此自变量时,所有名称空间引用都必须使用反斜杠来对冒号“:”进行转义,如下所示:http\://my.namespace。WSDL2WebService 忽略任何不包含经过转义的冒号的名称空间引用。

-all
为 WSDL 文档中定义的所有复杂类型生成 Java 类。缺省情况是只生成那些既在 WSDL 文档中定义又在 WSDL 文档中引用的类。只将此自变量与 -createService 自变量一起使用。
-server-side-only
仅生成服务器端 helper 类。缺省情况是生成服务器端以及客户机端 helper 类。
- wsSecDir <directory>
指定包含模板的目录的完整路径以通过 WS-Security 信息来配置所生成的部署描述符。此目录必须包含 ibm-webservices-bnd.xmiibm-webservices-ext.xmi 文件,如果正在生成客户机端绑定的话,还应包含 ibm-webservicesclient-bnd.xmiibm-webservicesclient-ext.xmi
-clientEJBName <EJB client filename>
使用客户机 EJB 文件中的信息来配置带有客户机应用程序名称的客户机端 webservicesclient.xml 描述符。如果没有提供此自变量,则必须手工编辑 webservicesclient.xml,然后才能将其添加至客户机 EJB 文件。
-user
指定访问远程 WSDL 时要使用的用户名。
-password
指定访问远程 WSDL 时要使用的密码。
-verbose
在工具运行时显示额外的信息。
-help
显示帮助信息。

启用了 Web Service 的归档

必需自变量:

-createEar <TargetFile.ear>
指定目标 EAR 文件的标准路径名。如果此路径名不存在,则将创建该路径。如果它已存在,则根据需要添加/更新通过 -add 选项指定的 Web 模块。
-project <ProjectDir>
指定包含一个或多个要归档的 Web Service 实现的项目目录的标准路径名。可能已使用工具以 -createService 自变量生成了这些 Web Service 实现。

可选自变量:

-add <services>
指定一列由空格隔开的要添加至归档的 Web Service 名称。这些服务名称应该与已经在指定的项目之下创建的 Web Service 实现相对应。如果不使用此选项,则将添加所有此类目录。如果在 EAR 文件中已存在其中一个这些名称的 Web Service 模块,则将用目录的最新内容对其进行更新。
-verbose
在工具运行时显示额外的信息。
-help
显示帮助信息。

注意:-deploy 选项不受支持。

要点:如果运行 WSDL2WebService 命令来通过使用执行本地导入的一组 WSDL 文件创建 EJB Web Service,则将会生成 EAR 文件,但一旦将它导入到工作空间中并将它部署至“单元测试环境”或远程服务器,在服务器启动期间就会发生异常。此异常是由于路由器 Web 项目中缺少 WSDL 而引起的。要消除此错误,执行下列其中一种操作:
  • 使用“管理控制台”部署至独立的 WebSphere Application Server。
  • 使用整体式的 WSDL - 即,不使用 -splitWsdl 自变量。
  • 手工将 EJB 项目中 META-INF/wsdl 目录下的所有 WSDL 文件复制至路由器 Web 项目的 WEB-INF/wsdl
注释 1:只选择 -genResolver 自变量以显示远程的绝对引用局部变量,使得当 Web Service 运行时,不必连接至因特网。该自变量不应用于本地或相对导入。另外,-genResolver 选项不应在包含导入 XSD 文件的 WSDL 导入的 WSDL 文件上使用。例如,不是使用 schema 元素外面的 WSDL 导入:
  <import location="a.xsd" namespace="http://namespaceA"/>
  <types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" 
      targetNamespace="http://namespaceA" 
      xmlns:xsd="http://www.w3.org/2001/XMLSchema">
而是使用 schema 元素中的 schema import 替换它:
  <types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" 
      targetNamespace="http://namespaceA" 
      xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <import schemaLocation="a.xsd" namespace="http://namespaceA"/>

父主题: 使用 WSDL2WebService 工具创建 Web Service

相关任务
使用 WSDL2WebService 工具创建 Web Service

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