`
michael_paul
  • 浏览: 173459 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论
阅读更多
Sample:
wsgen -cp ./target/classes -keep -wsdl -r ./gen/wsdl -s ./gen/src -d ./gen/classes com.ibm.jaxws.tutorial.service.OrderProcessService

当从 Java 代码启动时,wsgen 命令行工具将生成针对 XML Web Service 的 Java API(JAX-WS)应用程序所必需的可移植工件。仅当请求生成 WSDL 文件时,此工具才会生成 WSDL 文件。

当使用自底向上方法来开发 JAX-WS Web Service 并且是从服务端点实现开始进行开发时,使用 wsgen 工具来生成必需的 JAX-WS 可移植工件。

wsgen 工具接受正确注释的服务端点实现,该实现使用 @WebService 注释作为输入,并且将生成下列可移植工件:
对消息内容进行编组和数据编出所需要的任何其他 Java XML 绑定体系结构(JAXB)类。
WSDL 文件(如果指定了可选的 -wsdl 参数)。wsgen 工具并不会自动生成 WSDL 文件。
避免故障: 当多个 XMLType 注释在不同 Java 包中定义了同一个 @XMLType 名称时,wsgen 命令无法在这些注释之间区分 XML 名称空间。如果出现了这种情况,那么将产生以下错误:
Error: Two classes have the same XML type name ....
Use @XmlType.name and @XmlType.namespace to assign different names to them...此错误指示您具有同名的类或 @XMLType.name 值,但它们存在于不同的 Java 包中。要防止此错误,请将 @XML.Type.namespace 类添加至现有的 @XMLType 注释以区分 XML 类型。gotcha
语法
命令行语法是:
wsgen [options
] service_implementation_class
参数
service_implementation_class 名称是需要的唯一参数。对于 wsgen 命令,下列参数是可选参数:

-classpath <path>
指定服务实现类所在的位置。
-cp <path>
此参数与 -classpath <path> 的功能相同。
-d <directory>
指定用于放置生成的输出文件的位置。
-extension
指定是否允许对不是由 JAX-WS 规范指定的功能进行定制扩展。使用扩展可能会产生不可移植的应用程序或者不与其他实现互操作的应用程序。
-help
显示帮助菜单。
-keep
指定是否保留已生成的源文件。
-r <directory>
此参数仅与 -wsdl 参数一起使用。它指定用于放置生成的 WSDL 文件的位置。
-s <directory>
指定用于放置生成的源文件的目录。
-verbose
指定此参数以输出一些消息来说明编译器正在执行哪些操作。
-version
打印版本信息。如果指定此选项,那么将只输出版本信息,不会进行正常的命令处理。
-wsdl [:protocol]
缺省情况下,wsgen 不会生成 WSDL 文件。此可选参数将导致 wsgen 生成 WSDL 文件,它通常只用来允许开发者在部署端点之前复查 WSDL 文件。protocol 是可选的,它指定 wsdl:binding 中所使用的协议。protocol 的有效值为 soap 1.1 和 Xsoap 1.2 。缺省值为 soap 1.1 。值 Xsoap 1.2 不是标准的,只能与 -extension 选项一起使用。
-servicename <name>
此参数仅与 -wsdl 选项一起使用。指定要在 WSDL 文件中生成的一个 wsdl:service 名称。例如,
-servicename "{http://mynamespace/}MyService"-portname
此参数仅与 -wsdl 选项一起使用。指定要在 WSDL 文件中生成的一个 wsdl:port 名称。例如,
-portname "{http://mynamespace/}MyPort"

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/alex197963/archive/2010/01/26/5258272.aspx
分享到:
评论

相关推荐

    Web+Service学习SOAP协议简介WSDL简介

    wsgen 命令用于生成 WSDL 文件,wsimport 命令用于编译 WSDL 文件以生成客户端程序所需的 stub 文件。 SOAP 协议和 WSDL 简介是 Web Service 的核心技术,它们提供了一种通用的机制来实现跨语言、跨平台的通讯和...

    使用wsgen和wsimport开发WebService

    ### 使用wsgen和wsimport开发WebService #### 一、概述 本文档旨在介绍如何使用`wsgen`和`wsimport`工具在Eclipse环境下搭建一个简单的WebService应用,包括服务端与客户端的开发过程。虽然这是一个入门级的示例...

    jdk 6.0 自带webservice实现 实例

    "JDK 6.0 自带 Webservice ...7. 使用 `wsgen` 命令:使用 `wsgen` 命令可以生成服务类的支持类,并发布服务。 这些知识点都是 Webservice 的基础概念,读者可以通过这个示例来了解 Webservice 的基本原理和实现方法。

    JAX-WS自学笔记

    运行`wsgen`命令,可以生成服务端所需的所有文件。`-cp`参数指定类路径,`-r`参数设置生成的WSDL文件目录,`-s`参数设置源代码输出目录,`-d`参数设置编译后的类文件输出目录,最后指定服务类的全限定名。 4、生成...

    linux切换JDK脚本

    --slave /usr/bin/wsgen wsgen /opt/jdk1.6.0_11/bin/wsgen --slave /usr/bin/wsimport wsimport /opt/jdk1.6.0_11/bin/wsimport --slave /usr/bin/xjc xjc /opt/jdk1.6.0_11/bin/xjc /usr/sbin/alternatives --...

    JAX-WS的lib、src和docs

    在%JDK_HOME%/bin下有两个命令wsgen和wsimport,就是用到APT和Compiler API来处理碰到的Annotations,wsgen可以为Web Services Provider产生并编译必要的帮助类和相关支持文件,wsimport以WSDL作为输入为Web Service ...

    JAX-WS使用教程

    此外,JAX-WS还提供了几个常用的命令,比如wsgen和wsimport。wsgen是一个Java SE 6内置工具,用来生成Web服务类以及相关的部署描述符。wsimport是一个Java SE 6内置工具,用来生成客户端的存根和部署描述符,它们都...

    WebService之JAX-WS自学笔记

    执行 `wsgen` 命令后,会生成与 Web 服务接口相对应的 WSDL 文件和可能的 XSD 文件。这些文件描述了 Web 服务的功能、参数类型以及如何调用服务。 **2.1.3 目录结构**: - `./bin`:编译后的类文件存放位置。 ...

    JAX-WS WebService简明教程

    - **常用命令简介**: - `wsgen`:用于生成Web服务的客户端存根和服务器端骨架代码。 - `wsimport`:用于从WSDL文件生成客户端存根和服务器端骨架代码。 本教程旨在帮助初学者快速掌握使用JAX-WS创建WebService的...

    使用XFire开发一个简单的web服务

    然后,运行`ant generate`命令来生成客户端代码。这将在指定的输出目录下生成所需的客户端类。 #### 总结 通过以上步骤,我们成功地使用XFire开发并部署了一个简单的Web服务。此外,还介绍了如何生成和使用客户端...

Global site tag (gtag.js) - Google Analytics