Java2WSDL 工具参考

Java2WSDL 工具将 Java™ 类映射至 WSDL 文档。

Java2WSDL 工具接受 Java 类作为输入并产生表示此类的 WSDL 文件作为输出。如果输出位置存在文件,则覆盖该文件。

Java2WSDL 生成的 WSDL 文档包含自动从输入类派生的 WDSL 和 XML 模式构造。命令行自变量允许覆盖许多这些缺省值。

语法

Java2WSDL 工具位于 <WS-install-dir>\appserver\bin 目录中。

Java2WSDL [<arguments>] <class>

自变量

必需自变量:

<class> - 下列其中一个 Java 类的标准名称(包括包名):

Java2WSDL 工具定位 CLASSPATH 中的类。

可选自变量:

-help
显示帮助消息。
-output <WSDLfile>
指示输出 WSDL 文件的路径和文件名。如果不指定输出 WSDL 文件,则会将缺省 WSDL 文件 <class>.wsdl 将写到当前目录中。
数据类型
字符串。
单位
不适用。
缺省值
当前目录中的 <class>.wsdl。
范围
系统的合法文件名。
-location <location>
提供服务的位置(URL)。此值通常在部署 Web Service 时自动填写。要生成包含位置 URL 的 WSDL 文件而不部署它,使用此自变量指定位置。如果不指定位置,将显示警告以提醒您不应发布生成的 WDSL 文件,因为最终位置尚未确定。在最后一个斜杠或反斜杠后面的名称是服务端口的名称(除非被 -servicePortName 自变量覆盖了)。该服务端口地址位置属性被赋予指定的值。
数据类型
字符串。
单位
不适用。
缺省值
file:undefined_location。
范围
合法的 URL 字符串。
-portTypeName <name>
指示要用于 portType 元素的名称。如果不指定名称,则使用 <class> 名称。
数据类型
字符串。
单位
不适用。
缺省值
<class>。
范围
不适用。
-bindingName
指示要用于 binding 元素的名称。如果不指定名称,则 binding 名称就是 service 元素名称(-serviceElementName 自变量)后跟“SOAPBinding”。
数据类型
字符串。
单位
不适用。
缺省值
<serviceElementName> <SOAPBinding>。
范围
不适用。
-serviceElementName <name>
指示 service 元素的名称。
数据类型
字符串。
单位
不适用。
缺省值
<portTypeName> Service,其中 <portTypeName> 是用 -portTypeName 自变量指定的名称或缺省 portTypeName。
范围
不适用。
-servicePortName <name>
指示 service 的名称。如果不指定名称,则从 -location 自变量派生 service 名称。
数据类型
字符串。
单位
不适用。
缺省值
-location 自变量的最后一个反斜杠“\”后面的名称或 <class> 名称。
范围
不适用。
-namespace <targetNamespace>
指示要生成的 WSDL 文档的目标名称空间。
数据类型
字符串。
单位
不适用。
缺省值
映射至名称空间的 <class> 的包名。
范围
不适用。
-PkgtoNS <package> <namespace>
指示 Java 包至名称空间的映射。如果发现包没有名称空间,Java2WSDL 将生成合适的名称空间的名称。可重复此自变量以指定多个包的映射。
  • 包:
    数据类型
    字符串。
    单位
    不适用。
    缺省值
    不适用。
    范围
    Java 包名。
  • 名称空间:
    数据类型
    字符串。
    单位
    不适用。
    缺省值
    不适用。
    范围
    不适用。
-methods <method> [,<method>...]
如果指定了此自变量,则只将在类中指示的方法导出到 WSDL 文件中。必须用逗号分隔方法的列表。如果不指定此自变量,则可以将通过类定义的所有方法导出到 WSDL 文件中。
数据类型
字符串的逗号分隔的列表。
单位
不适用。
缺省值
通过 <class> 定义的所有方法。
范围
通过 <class> 或其父类定义的方法。

-all 自变量是选择要包括的方法的另一种方法。

-all
如果指定了此自变量,则 Java2WSDL 浏览父类以确定要导出到 WSDL 文件中的方法的列表。如果指定了 -all,则不使用 -methods 自变量。-stopClasses 自变量指定何时终止对方法的向上扫描。
-implClass <impl-class>
Java2WSDL 工具使用方法参数名来构造 WSDL 消息部件名称。消息名称是从 <class> 中的调试信息获取的。如果不使用调试信息编译此类,或者如果此类是一个接口,则方法参数名不可用。在这种情况下,使用 -implClass 自变量来提供从中获取方法参数名的备用类。如果 <class> 是一个接口,则 <impl-class> 不必实现 <class> , 但它必须实现 <class> 所实现的方法。
数据类型
字符串。
单位
不适用。
缺省值
不适用。
范围
CLASSPATH 中实现 <class> 所实现的方法的 Java 类。
-stopClasses <parent> [,<parent>...]
Java2WSDL 搜索继承的类和接口以构造 WSDL 操作的方法列表(如果指定了 -all 自变量的话)。当生成扩展的 complexTypes 时,Java2WSDL 搜索继承的类和接口。每当找到位于以 Java 或 Javax 开头的包中的类或接口时,搜索就会停止。也可以使用 -stopClasses 自变量来定义将使搜索停止的附加类。
数据类型
用逗号分隔的字符串列表。
单位
不适用。
缺省值
缺省 stopClasse 是 java.* 和 javax.*
范围
<class> 的父类。
-style RPC | DOCUMENT | WRAPPED
指定要在所生成的 WSDL 中使用的 WSDL 样式。此自变量与 -use 自变量配合使用。
  • 如果将 -use ENCODEDRPC 一起指定,或者省略 -use,则生成 style=rpc/use=encoded WSDL。
  • 如果将 -use LITERALRPC 一起指定,则生成 style=rpc/use=literal WSDL。
  • 如果将 DOCUMENT 与 -use LITERAL 一起指定,或者省略 -use,则生成 style=document/use=literal WSDL。
  • 如果将 WRAPPED-use LITERAL 一起指定,或者省略 -use,则生成具有“wrapped”格式的 style=document/use=literal WSDL。

WRAPPED 格式表示:

  • 为请求和响应生成 complexType。
  • 请求的 complexType 与 operation.request 同名,并且包含每个输入参数的元素。
  • 响应的 complexType 是操作的名称 +“Response”,它包含每个输出的元素。
  • 请求消息用一个称为“body”的部件来引用请求 complexType。
数据类型
字符串。
单位
不适用。
缺省值
RPC。
范围
RPC、DOCUMENT 或 WRAPPED。
-use LITERAL | ENCODED
-style 自变量一起确定下列样式和用法的四种组合中的哪一种生成为 WSDL:RPC/Enc、RPC/Lit、Doc/Lit 或 Doc-wrapped/Lit。有关更多信息,请参阅 WSDL 绑定部分。
数据类型
字符串。
单位
不适用。
缺省值
如果样式是 RPC,则是 ENCODED,否则是 LITERAL。
范围
ENCODED 或 LITERAL。
--outputWsdlMode <mode>
生成 WSDL 服务接口文档或 WSDL 服务实现文档,这取决于 <mode> 的值,在上述两种情况下该值必须分别为接口实现注意:此自变量必须前置两个连字符,否则不能区分它与 -output 自变量。

故障诊断

Java2WSDL 生成 WSDL 可能包括意外的元素。有关执行的转换的更多信息,查看 JAX-RPC 规范。

还可以创建这样的 WSDL 文档:当使用 WSDL2 工具重新生成到 Java 中时会创建不能编译的输出。这是因为从 Java 至 WSDL 的 JAX-RPC 映射是不可逆的。如果遇到此问题,检查 WSDL 文件并根据需要修改它以获得期望的结果。

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

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

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