- 浏览: 1051884 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (1355)
- test (75)
- 红茶和绿茶 (1)
- Jave SE (206)
- Oracle (19)
- English (177)
- Log4j (5)
- RIA(Rich Internet Applications) (9)
- Ext Js (6)
- Android (14)
- Logo (0)
- 文字采撷 (287)
- 使用技巧 (92)
- Project Management (22)
- Hibernate (12)
- Struts (5)
- 规则引擎 (1)
- Html & Javasctipt (56)
- Spring MVC (10)
- Maven (17)
- Java Test (17)
- Linux (16)
- Tools (1)
- CV (0)
- Middleware (2)
- HTML5 (2)
- Algorithms (4)
- Web Service (15)
- 留学 (15)
- LADP (5)
- PXCOA (0)
- SysLog (6)
- SSO (3)
- Spring Security (4)
- Spring Batch (1)
- Jmail (1)
- Bible (4)
- Java Thread (5)
- Architect (6)
- github (2)
- Java Swing (12)
- NoSQL (7)
- UML (2)
- 敏捷(Agile) (7)
- Hudson+Maven+SVN (15)
- cloud computing (2)
- Bahasa Indonesia (1)
- jBPM (6)
- 民俗知识 (3)
- Consulting (1)
- Mysql (5)
- SAP (1)
- 微信公众平台接口开发 (3)
- 做生意 (1)
- 西餐 (1)
- Banking (1)
- Flex (0)
- 黄金投资 (1)
- Apache Tomcat 集群 (3)
- Hadoop (7)
- 需求分析 (1)
- 银行知识 (3)
- 产品管理 (2)
- 钢琴Music (3)
- 设计 (3)
- Marketing (2)
- US Life (3)
- 算法 (14)
- BigData (4)
- test红茶和绿茶Jave SEOracleEnglishLog4jRIA(Rich Internet Applications)Ext JsAndroidLogo文字采撷 (0)
- Design Pattern (5)
- NodeJS&AngularJS (9)
- Python (1)
- Spring boot (0)
- ACM (3)
最新评论
-
心往圣城:
微时代-最专业的微信第三方平台。LBS定位导航,微网站,自定义 ...
微信公众平台 /微信公众平台怎么用 -
zhaojiafan:
return ReverseStr1(str.substrin ...
逆转字符串 Write a String Reverser (and use Recursion!) -
zhaojiafan:
public class StringUtils {
p ...
逆转字符串 Write a String Reverser (and use Recursion!)
The wsgen
tool is used to parse an existing web service implementation class and generates required files (JAX-WS portable artifacts) for web service deployment. This wsgen
tool is available in $JDK/bin
folder.
Use cases
2 common use cases for wsgen tool :
- Generates JAX-WS portable artifacts (Java files) for web service deployment.
- Generates WSDL and xsd files, for testing or web service client development.
Let’s see a web service implementation class, quite simple, just a method to return a string.
File : ServerInfo.java
package com.mkyong.ws; import javax.jws.WebMethod; import javax.jws.WebService; @WebService public class ServerInfo{ @WebMethod public String getIpAddress() { return "10.10.10.10"; } }
1. Generates JAX-WS portable artifacts (Java files)
To generate all the JAX-WS portable artifacts for above web service implementation class (ServerInfo.java
), use following command :
Command : wsgen usage
D:\>wsgen -verbose -keep -cp . com.mkyong.ws.ServerInfo Note: ap round: 1 [ProcessedMethods Class: com.mkyong.ws.ServerInfo] [should process method: getIpAddress hasWebMethods: true ] [endpointReferencesInterface: false] [declaring class has WebSevice: true] [returning: true] [WrapperGen - method: getIpAddress()] [method.getDeclaringType(): com.mkyong.ws.ServerInfo] [requestWrapper: com.mkyong.ws.jaxws.GetIpAddress] [ProcessedMethods Class: java.lang.Object] com\mkyong\ws\jaxws\GetIpAddress.java com\mkyong\ws\jaxws\GetIpAddressResponse.java Note: ap round: 2
In this case, it generated four files :
- com\mkyong\ws\jaxws\GetIpAddress.java
- com\mkyong\ws\jaxws\GetIpAddress.class
- com\mkyong\ws\jaxws\GetIpAddressResponse.java
- com\mkyong\ws\jaxws\GetIpAddressResponse.class
File : GetIpAddress.java
package com.mkyong.ws.jaxws; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; @XmlRootElement(name = "getIpAddress", namespace = "http://ws.mkyong.com/") @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "getIpAddress", namespace = "http://ws.mkyong.com/") public class GetIpAddress { }
File : GetIpAddressResponse.java
package com.mkyong.ws.jaxws; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; @XmlRootElement(name = "getIpAddressResponse", namespace = "http://ws.mkyong.com/") @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "getIpAddressResponse", namespace = "http://ws.mkyong.com/") public class GetIpAddressResponse { @XmlElement(name = "return", namespace = "") private String _return; /** * * @return * returns String */ public String getReturn() { return this._return; } /** * * @param _return * the value for the _return property */ public void setReturn(String _return) { this._return = _return; } }
2. Genarates WSDL and xsd
To generate WSDL and xsd files for above web service implementation class (ServerInfo.java
), add an extra -wsdl in the wsgen
command :
Command : wsgen usage
D:\>wsgen -verbose -keep -cp . com.mkyong.ws.ServerInfo -wsdl Note: ap round: 1 [ProcessedMethods Class: com.mkyong.ws.ServerInfo] [should process method: getIpAddress hasWebMethods: true ] [endpointReferencesInterface: false] [declaring class has WebSevice: true] [returning: true] [WrapperGen - method: getIpAddress()] [method.getDeclaringType(): com.mkyong.ws.ServerInfo] [requestWrapper: com.mkyong.ws.jaxws.GetIpAddress] [ProcessedMethods Class: java.lang.Object] com\mkyong\ws\jaxws\GetIpAddress.java com\mkyong\ws\jaxws\GetIpAddressResponse.java Note: ap round: 2
In this case, it generated six files :
- com\mkyong\ws\jaxws\GetIpAddress.java
- com\mkyong\ws\jaxws\GetIpAddress.class
- com\mkyong\ws\jaxws\GetIpAddressResponse.java
- com\mkyong\ws\jaxws\GetIpAddressResponse.class
- ServerInfoService_schema1.xsd
- ServerInfoService.wsdl
File : ServerInfoService_schema1.xsd
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <xs:schema version="1.0" targetNamespace="http://ws.mkyong.com/" xmlns:tns="http://ws.mkyong.com/" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="getIpAddress" type="tns:getIpAddress"/> <xs:element name="getIpAddressResponse" type="tns:getIpAddressResponse"/> <xs:complexType name="getIpAddress"> <xs:sequence/> </xs:complexType> <xs:complexType name="getIpAddressResponse"> <xs:sequence> <xs:element name="return" type="xs:string" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:schema>
File : ServerInfoService.wsdl
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <definitions targetNamespace="http://ws.mkyong.com/" name="ServerInfoService" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://ws.mkyong.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"> <types> <xsd:schema> <xsd:import namespace="http://ws.mkyong.com/" schemaLocation="ServerInfoService_schema1.xsd"/> </xsd:schema> </types> <message name="getIpAddress"> <part name="parameters" element="tns:getIpAddress"/> </message> <message name="getIpAddressResponse"> <part name="parameters" element="tns:getIpAddressResponse"/> </message> <portType name="ServerInfo"> <operation name="getIpAddress"> <input message="tns:getIpAddress"/> <output message="tns:getIpAddressResponse"/> </operation> </portType> <binding name="ServerInfoPortBinding" type="tns:ServerInfo"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/> <operation name="getIpAddress"> <soap:operation soapAction=""/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> <service name="ServerInfoService"> <port name="ServerInfoPort" binding="tns:ServerInfoPortBinding"> <soap:address location="REPLACE_WITH_ACTUAL_URL"/> </port> </service> </definitions>
Published It!
All files are ready, publish it via endpoint publisher.
package com.mkyong.endpoint; import javax.xml.ws.Endpoint; import com.mkyong.ws.ServerInfo; //Endpoint publisher public class WsPublisher{ public static void main(String[] args) { Endpoint.publish("http://localhost:8888/ws/server", new ServerInfo()); System.out.println("Service is published!"); } }
link: http://www.mkyong.com/webservices/jax-ws/jax-ws-wsgen-tool-example/
http://docs.oracle.com/cd/E17802_01/webservices/webservices/docs/2.0/tutorial/doc/index.html
发表评论
-
系统架构师
2015-07-09 19:49 485中科院高级系统架构师培训讲义http://wenku.bai ... -
通向架构师的道路
2015-07-08 14:00 456通向架构师的道路(第十天)之Axis2 Web Service ... -
PLM,是一个英文缩写,有2个含义,一是表示产品生命周期管理(product lifecycle management,PLM),
2015-07-03 08:19 3120(product lifecycle management) ... -
需求的INVEST原则
2015-06-24 11:57 753需求的INVEST原则 ØIdependent(独 ... -
禅道&提升项目管理实践培训课程
2015-06-24 10:19 2禅道&提升项目管理实践培训课程 禅道特聘业内 ... -
禅道所使用到的第三方代码
2015-06-24 09:58 602禅禅道项目管理软件使用了很多第三方的开源类库,在此向 ... -
以开源的方式做最专业的项目管理软件
2015-06-19 16:56 659http://www.zentao.net/ 以开源 ... -
PMP 试题
2015-05-04 22:53 1519PMP之概念题 http://wenku.baidu ... -
PgMP学习感受分享
2015-04-15 14:38 692通过参加项 ... -
如何采用竞争激励
2015-01-20 13:45 533激发员工的工作动力第 ... -
哲理故事与管理之道(21)-用情感激励下属
2015-01-20 11:24 528激发员工的工作动力第三篇 - 情感篇 故事一 ... -
哲理故事与管理之道(8)-挖一口属于自己的井
2015-01-20 11:10 415故事 和尚挑水 有两个和尚住在隔壁,所谓隔 ... -
如何安排工作
2014-12-09 08:55 5401,如何安排工作: 管理者要给下属足够多的时间思考,并有个 ... -
PMP/CAPM/PgMP/ACP考试报名资格
2014-07-16 15:19 821PMP/CAPM/PgMP/ACP考试报名资格 发表 ... -
获得高效管理 项目经理必知的五个常用工具
2014-07-01 18:33 511要想获得管理的高效率,经理必须熟知并熟练运用以下几个工具: ... -
PMP 自学笔记 每天更新
2014-03-03 11:17 573PMP考试内容主要包括项目管理五个过程: 启动:确立一个项 ... -
PMP
2013-12-11 13:44 659PMP(Project Management Pro ... -
Training compont detail desgin
2012-09-28 18:33 948这两天培训设细设计,对每个阶段的交付物,进行了介绍。如一些UM ... -
Weblogic remote debugger java
2012-09-06 15:15 732window version 1, add b ... -
What is LDAP?
2012-02-13 14:18 8061.2. What is LDAP? LDAP stands ...
相关推荐
标题"jax-rs jax-ws所需包,亲测可用"表明这个压缩包包含了用于开发Java RESTful Web服务(JAX-RS)和Java SOAP Web服务(JAX-WS)所需的库文件。这些库是Java应用程序进行Web服务交互的核心组件,确保了对HTTP协议...
Java API for XML Web Services(JAX-WS)是Java平台上用于构建和消费Web服务的标准API。它简化了创建和使用Web服务的过程,使得开发者能够通过SOAP消息与远程服务进行交互。JAX-WS允许开发者将服务接口直接映射到...
在给定的压缩包文件"jax-ws api jar包"中,包含的是JAX-WS 2.2.1版本的API库,即`jaxws-api-2.2.1.jar`。这个jar文件是开发基于JAX-WS的Web服务所必需的依赖之一。以下是关于JAX-WS的一些核心知识点: 1. **服务端...
在WebLogic服务器上部署JAX-WS服务时,可能会遇到一些配置问题。JAX-WS(Java API for XML Web Services)是Java平台上的一个标准,用于创建和部署Web服务。WebLogic作为一款强大的Java EE应用服务器,支持JAX-WS...
JAX-WS 2.0是JAX-WS的第二个主要版本,它在JAX-RPC(Java API for XML-based RPC)的基础上进行了改进,引入了许多新特性以提升开发者的体验和效率。 **JAX-WS 2.0 的核心概念:** 1. **服务端点接口(SEI, ...
基于jax-ws 实现的web service client和server端的demo程序。 注:如果使用的是 myeclipse 时 server 部署到tomcat 启动的时候会报错 解决办法:找到myeclipse安装目录下的 plugins 目录里 查找 webservices-rt.jar,...
标题中的“一个包含jax-ws和jax-rs的例子(含服务端和客户端)”是指这是一个示例项目,它演示了如何使用Java API for XML Web Services (JAX-WS)和Java API for RESTful Web Services (JAX-RS)来创建和消费Web服务。...
**JAX-WS2.1用户指南** JAX-WS(Java API for XML Web Services)是Java平台上用于创建Web服务的标准API,版本2.1是其一个重要里程碑。本指南将深入探讨JAX-WS 2.1的核心概念、功能以及如何在实际开发中应用它。...
**JAX-WS API** Java API for XML Web Services (JAX-WS) 是Java平台上的一个标准接口,用于创建和消费Web服务。它是Sun Microsystems在2004年推出的一个重要框架,旨在简化Web服务的开发,使得Java开发者能够更...
【标题】:Web服务之Java API for XML Web Services (JAX-WS) 【内容详解】 JAX-WS,全称为Java API for XML Web Services,是Java平台上的一个标准,用于构建和部署基于SOAP(Simple Object Access Protocol)的...
JAX-WS(Java API for XML Web Services)是Java平台上的一个标准,用于创建和消费Web服务。本篇将深入讲解如何基于JAX-WS开发一个WebService实例。 首先,让我们了解JAX-WS的基本概念。JAX-WS提供了一种简单的方式...
JAX-WS 2.2 RI 所包含的JAR包集合,包含25个JAR包,列表如下: FastInoset.jar gmbal-api-only.jar ha-api.jar javax.annotation.jar javax.mail_1.4.jar jaxb-api.jar jaxb-impl.jar jaxb-xjc.jar jaxws-api...
【标题】"metro-jax-ws-jaxws221x.zip" 提供的是一个关于JAX-WS(Java API for XML Web Services)的开发示例,其中包含了JAX-WS 2.2.1版本的相关组件和库文件。这个压缩包是针对Java开发者设计的,用于帮助他们理解...
**JAX-WS规范详解** Java API for XML Web Services(JAX-WS)是Java平台上的一个标准,用于创建Web服务和客户端。它提供了一种简单、类型安全的方式来构建和消费基于SOAP的消息传递应用程序,是Java世界中实现Web...
4. **jaxws-tools.jar**: 包含了JAX-WS相关的工具,如wsimport和wsgen,它们分别用于从WSDL生成Java源代码和服务端点,以及从Java源代码生成WSDL。 5. **sjsxp.jar**: 这是Java Simple XML Parser (JSXP)的实现,是...
**标题:“jax-ws2.1.zip”**指的是一个包含Java API for XML Web Services(JAX-WS)2.1版本的压缩包。JAX-WS是Java平台标准版(Java SE)和企业版(Java EE)的一部分,用于构建基于SOAP(Simple Object Access ...
Java API for XML Web Services(JAX-WS)是Java平台上的一个标准,用于构建和部署Web服务。它简化了Web服务的开发,使得Java开发者能够更方便地创建、调用和部署SOAP(Simple Object Access Protocol)服务。在这个...
JAX-WS(Java API for XML Web Services)是Java平台上的一个标准,用于构建和部署Web服务。它提供了一种简单、类型安全的方式来创建、调用Web服务,并且与Java SE和Java EE环境紧密集成。在本教程中,我们将深入...
Java API for XML Web Services(JAX-WS)是Java平台上的一个标准,用于构建和部署Web服务。它简化了Web服务的开发,使得开发者能够使用Java编程语言来创建、调用和部署SOAP(Simple Object Access Protocol)服务。...
**标题解析:** "JAX-WS低版本" 指的是Java API for XML Web Services的一个较早的发行版。JAX-WS是Java平台上用于创建Web服务的标准API,它简化了开发和部署基于SOAP(Simple Object Access Protocol)的Web服务和...