用于 JAX-RPC 应用程序的 Java2WSDL 命令
Java2WSDL 命令行工具将 Java™ 类映射到 Java API for XML-based RPC (JAX-RPC) 应用程序的 WSDL 文件。
z/OS® 平台不支持 Java2WSDL 命令行工具。此功能由 z/OS 产品版本随附的组装工具提供。
Java2WSDL 命令通过遵循 Java API for XML-based Remote Procedure Call (JAX-RPC) 1.1 规范,来将 Java 类映射到 Web Service 描述语言 (WSDL) 文件。
Java2WSDL 命令接受 Java 类作为输入并产生代表输入类的 WSDL 文件。如果输出位置中存在文件,那么会覆盖它。Java2WSDL 命令生成的 WSDL 文件包含从输入类自动派生的 WSDL 和 XML 模式构造。您可用命令行参数覆盖这些缺省值。
Java2WSDL 命令与协议无关;当您运行 Java2WSDL 命令时,您可指定在 WSDL 文件中生成 SOAP 和非 SOAP 协议绑定的命令行选项。对于可以生成的每个绑定,Java2WSDL 命令都有生成此绑定的 WSDL 的绑定生成器。
命令行语法和参数
Java2WSDL [argument...] class
支持以下命令行参数:
必需参数
- 类表示下列其中一个 Java 类的标准名称:
- 扩展 javax.ejb.EJBObject 类的无状态会话 Enterprise JavaBeans (EJB) 远程接口
- 扩展 java.rmi.Remote 类的服务端点接口
- Java Bean
重要参数
- -location location
提供服务的发布位置或统一资源定位符 (URL)。如果未提供此信息,那么发出警告,表明还未确定最终发布位置。部署 Web Service 时,通常将覆盖服务位置。
除非最后一个反斜杠后面的名称被 -servicePortName 参数覆盖,否则此名称就是服务端口的名称。分配服务端口地址位置属性指定的值。 可以指定多个端点地址。只有单个绑定类型是必需的情况下才建议使用 -location 选项。如果要求多个绑定类型,那么使用 -x 标志在命令行上传递特定于协议绑定的位置属性。
以下示例说明如何产生 SOAP over HTTP 和 SOAP over Java 消息服务 (JMS) 绑定:
使用 -location 选项来确定 -location 选项值应用于哪个端口,方法是要求通过特定于绑定的属性值来指定端点 URL。java2wsdl -bindingTypes http,jms \ -x http.location=http://your.server.name:9080/StockQuoteService/services/StockQuote \ -x jms.location= \ jms:/queue?destination=jms/MyQueue&connectionFactory=jms/MyCF&targetService=StockQuote
- -output wsdl-uri
表明输出 WSDL 文件的路径与文件名。如果未指定,那么会将缺省 class.wsdl 文件写入当前目录。
- -input wsdl-uri
指定用于构建输出 WSDL 文件的输入 WSDL 文件。来自现有 WSDL 文件的信息在此选项中指定并与输入 Java 类协同使用以生成输出。
- -bindingTypes 指定写到输出 WSDL 文件的绑定类型列表。Java2WSDL 命令中的每个绑定生成器都支持特定的绑定类型。有效的绑定类型值是 http (SOAP over HTTP)、jms (SOAP over JMS) 和 ejb(本地或远程 EJB 调用)。例如,以下命令可用来生成 SOAP over HTTP、my.pkg.MySEI 服务端点接口的 EJB 绑定和 my.pkg.MyEJBClass 实现类:
以下命令是使用 -bindingTypes 选项生成 SOAP over HTTP 和 SOAP over JMS 绑定的示例:java2wsdl -bindingTypes http,ejb -implClass my.pkg.MyEJBClass my.pkg.MySEI
java2wsdl -bindingTypes http,jms -implClass my.pkg.MyEJBClass my.pkg.MySEI
- -style RPC | DOCUMENT
指定要在生成的 WSDL 文件中使用的 WSDL 样式。要了解更多信息,请参阅“用于 JAX-RPC 应用程序的 Java 语言、WSDL 和 XML 之间的映射”信息。此参数与 -use 参数协同使用。
如果 RPC 与 -use ENCODED 一起指定,那么生成 style=rpc/use=encoded WSDL 文件。如果 RPC 与 -use LITERAL 选项一起指定,那么生成 style=rpc/use=literal WSDL 文件。如果 DOCUMENT 与 -use LITERAL 选项一起指定,那么生成 style=document/use=literal WSDL 文件。
- -use LITERAL | ENCODED
当与 -style 参数协同使用时,指定在 WSDL 文件中生成样式和使用的何种组合。组合为 rpc 和 encoded、rpc 和 literal 或 doc 和 literal。此设置应用于所有 SOAP 绑定。要了解更多信息,请参阅“用于 JAX-RPC 应用程序的 Java 语言、WSDL 和 XML 之间的映射”信息。
- -transport http | jms
生成 HTTP(缺省值)或 JMS 的 SOAP 绑定。如果指定 JMS,那么将字符 jms 追加到 WSDL 文件名以防止为另一个传输覆盖现有 WSDL 文件。传输选项只可以指定一次。
此选项是不推荐的。-bindingTypes 选项替换 -transport 选项,以便您可以生成特定于非 SOAP 的绑定。
- -portTypeName name
指定用于 portType 元素的名称。如果未指定,绑定名为端口类型名称。
- -bindingName name
指定用于绑定元素的名称。如果未指定,绑定名为端口类型名称。
- -serviceElementName name
指定服务元素的名称。
- -servicePortName name
指定服务的名称。如果未指定,那么从 -location 参数派生服务名称。
- -namespace targetNamespace
表明生成的 WSDL 文件的目标名称空间。要了解用来获取缺省名称空间的算法,请参阅“用于 JAX-RPC 应用程序的 Java 语言、WSDL 和 XML 之间的映射”信息。
- -PkgtoNS package namespace
指定 Java 包至名称空间的映射。如果包没有名称空间,那么 Java2WSDL 命令生成一个名称空间名。您可以重复 -PkgtoNS 参数来指定多个包的映射。
- -extraClasses classes
指定在 WSDL 文件中表示的其他类。
- -implClass impl-class
Java2WSDL 命令使用方法参数名来构造 WSDL 文件消息部分名。命令自动从类中的调试信息获取消息名。如果未含调试信息而编译类,或如果类是接口,那么方法参数名称不可用。在这种情况下,您可使用 -implClass 参数提供备用类,从该类获取方法参数名称。 如果该类是接口,那么 impl-class 不需要实现该类,但它必须实现与类相同的方法。
- -verbose
显示详细消息。
- -help
显示帮助消息。
- -helpX
显示绑定生成器支持的扩展选项和各种选项的帮助消息。
其他参数
- -wrapped boolean
指定是否按照合并规则生成 WSDL 文件。仅当 use 是字面值时此选项才有效。该选项缺省为 true。
- -stopClasses parent [, parent]
如果指定了 -all 参数,那么 Java2WSDL 命令搜索继承的类和接口以构造 WSDL 文件操作的方法列表。
当生成扩展 complexTypes 时,Java2WSDL命令搜索继承类和接口。当在以 java 或 javax 开头的包中找到类或接口时,搜索会停止。您可使用 -stopClasses 参数定义导致搜索停止的其他类。
- -methods 参数
指定来自服务端点接口、必须在输出 WSDL 文件中陈列的方法名列表。此列表用空格或逗号分隔。
- -soapAction 有效参数为:
- DEFAULT
按照部署信息设置 soapAction 字段。
- NONE
将 soapAction 字段设为双引号 ("")。
- OPERATION
将 soapAction 字段设为操作名。
- DEFAULT
- -outputImpl impl-wsdl
指定您是否需要发出的接口和实现 WSDL 文件。
- -locationImport location-uri
如果您使用 -outputImpl 参数,那么它指定接口 WSDL 文件的位置。
- -namespaceImpl namespace
如果您使用 -outputImpl 参数,那么它指定实现 WSDL 文件的目标名称空间。
- -MIMEStyle <style>
指定多用途因特网邮件扩展 (MIME) 类型,它用于映射到具有绑定元素的附件引用 (wsi:swaRef) 的 Web Service 互操作性 (WS-I) SOAP。
<style> 可以是下列其中一项:- WSDL11(缺省值):使用 WSDL 1.1 标准专门映射 MIME 类型。如果 MIME 类型无法映射到 WSDL 1.1 标准,那么命令会失败。
- AXIS:使用 AXIS 标准映射 MIME 类型,例如,图象成为 axis:image。
- swaRef: 使用带两个说明的 WSDL 1.1 标准映射 MIME 类型:
- DataHandler 映射到 wsi:swaRef 元素而不是应用程序和八位元流
- 如果映射通过 WSDL 1.1 是非法的,那么映射到 wsi:swaRef 元素
- -propertiesFile 参数使用属性文件而不是命令行设置现有选项(如 -extraClasses)。以下示例说明此参数的使用:
extraClasses=com.ibm.Class1, com.sun.Class2,org.apache.Class3
- -voidReturn有效参数为:
- ONEWAY
返回空的方法是单向的。此参数是 JMS 传输的缺省值。
- TWOWAY
返回空的方法是双向的。此参数是 HTTP 传输的缺省值。
- ONEWAY
- -debug
显示调试消息。
- -property 或 -x您可使用 -x 选项将命令行选项传递到各种绑定生成器。在命令行中多次使用 -x 选项以指定传递到 Java2WSDL 命令调用的每个绑定生成器方法的属性值集。您还可使用单个 -x 选项通过用逗号分隔多个属性来指定它们,例如:
等同于:java2wsdl -x prop1=value1 -x prop2=value2
-x 选项提供了分别为每个绑定生成器指定每个命令行选项(如果需要)的灵活性。-x 选项中指定的值覆盖同等命令行选项中指定的值(如果都指定了它们)。java2wsdl -x prop1=value1,prop2=value2