JAX-WS 2.0( Java api for xml-based web service)是JAX-RPC 1.1的后续版本,是一个新的web service协议栈,是一个完全基于标准的实现。它主要用于简化使用java构造web服务和web服务客户端的工作。
JAX-WS 2.0 是java 1.5平台的一个重要组成部分。
第一部分发布web服务
1.编写服务类
JAX-WS 的服务端类可以是任意的POJO类,需要用WebService标注,需要暴漏的方法用@WebMethod标注,例如:
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService
public class HAHA {
@WebMethod
public String getHHH(String s){
return "haha:"+s;
}
}
2.导出服务端的辅助类
光有服务类是不能发布为web服务的,需要使用wsgen工具导出辅助类,例如:
wsgen -cp bin com.zte.HelloWorld -s src -d bin -r wsdl
wsgen用于生成服务端的辅助类,有了这些辅助类才能够将POJO发布为web服务。
-cp 用于指明classpath,即从哪个地方去找pojo类;
-s 表示生成的源文件放到哪个地方;
-d 表示生成的class文件放到哪个地方;
-r 表示生成的wsdl文件和xsd文件存放到哪个地方;
3.使用Endpoint发布方法:
import javax.xml.ws.Endpoint;
public class HAHAServer {
public static void main(String args[]){
Endpoint.publish("http://localhost:9081/hello", new HAHA());
//第一个参数为服务的地址,第二个参数为要发布为服务的类实例。服务的名称通常是类名+Service
}
}
要想在IE中访问该wsdl,必须在地址后面加上?wsdl,例如:http://localhost:9081/hello?wsdl
第二部分客户端调用web服务
1.先用wsimport工具,利用wsdl地址,生成客户端代码,例如:
wsimport -d bin -s src http://localhost:9080/hello?wsdl
wsimport是根据wsdl的地址,自动生成客户端代码,然后就可以根据这些代码编写测试类,访问web服务端了。
-d 指明用于存储生成的class文件;
-s 指明用于存储生成的java文件;
2.编写client类,对服务端进行测试,例如:
public class HelloClient {
public static void main(String args[]){
HelloWorld h=new HelloWorldService().getHelloWorldPort();
System.out.println(h.sayHelloWorld());
//生成HelloWorldService类,用于连接web服务端,可以通过getHelloWorldPort方法获取HelloWorld对象
}
}
分享到:
相关推荐
### 设计与开发 JAX-WS 2.0 Web 服务 #### JAX-WS 技术概述 JAX-WS(Java API for XML Web Services)是Java平台中用于简化Web服务开发的一项关键技术。该技术提供了全面的支持,使得开发者能够在Java环境中轻松...
在实际应用中,使用JAX-WS进行Web服务开发时,开发者需要定义服务接口和实现,然后通过注解或部署描述符来配置服务。服务可以通过HTTP协议暴露,客户端则可以通过生成的Stub类或者使用JAX-WS的`Service`类来调用这些...
通过JAX-WS,开发者可以快速地将Java类转化为可用的Web服务,同时利用JAXB进行数据交换,SAAJ处理SOAP消息,大大简化了开发流程。JAX-WS 2.0是作为JSR 224(Java Specification Request)的一部分进行开发,是JAX-WS...
标题"jax-rs jax-ws所需包,亲测可用"表明这个压缩包包含了用于开发Java RESTful Web服务(JAX-RS)和Java SOAP Web服务(JAX-WS)所需的库文件。这些库是Java应用程序进行Web服务交互的核心组件,确保了对HTTP协议...
**正文** JAX-WS(Java API for XML Web Services)是Java平台标准版(Java SE)和企业版(Java EE)...`jaxws-api-2.2.1.jar`这个库文件包含了实现这些功能所需的所有类和接口,是开发人员进行JAX-WS开发的必备组件。
通过以上步骤,你可以基于JAX-WS开发并部署一个简单的Web服务实例。随着项目的复杂性增加,可能需要处理更复杂的业务逻辑、错误处理和事务管理,但这些基础步骤将为你构建更复杂的Web服务奠定坚实的基础。
在MyEclipse中使用JAX-WS开发Web服务是一个简单而高效的过程,下面将详细介绍这个过程中的关键步骤和涉及的技术点。 首先,JAX-WS(Java API for XML Web Services)是Java平台上的一个标准,用于创建和消费Web服务...
JAX-WS(Java API for XML Web Services)是Java平台上的一个标准,用于创建和部署Web服务。WebLogic作为一款强大的Java EE应用服务器,支持JAX-WS标准,但正确配置和部署这些服务需要一些额外的步骤。本指南将详细...
**JAX-WS开发步骤:** 1. **定义服务接口:** 使用Java SE或Java EE中的注解(如@WebService)来声明服务接口和操作。 2. **实现服务端点:** 提供接口的具体实现,处理客户端请求。 3. **创建WSDL:** JAX-WS自动...
**正文** JAX-WS(Java API for XML Web Services...总之,JAX-WS 2.0 API是Java平台开发SOAP Web服务的重要工具,通过其提供的丰富特性和简洁的编程模型,简化了Web服务的开发和使用,促进了分布式系统的构建和协作。
本篇将详细介绍如何在MyEclipse6_5集成开发环境中使用JAX-WS来开发Web服务。 首先,让我们了解MyEclipse 6.5。MyEclipse是基于Eclipse的一款强大的Java、J2EE集成开发环境,提供了丰富的特性集,包括代码编辑、调试...
JAX-WS是基于SOAP(Simple Object Access Protocol)和WSDL(Web Services Description Language)的,旨在简化Web服务的开发和消费。通过提供强大的类型安全模型和与Java SE及Java EE平台的紧密集成,JAX-WS使得...
**JAX-WS Web服务开发概述** JAX-WS(Java API for XML Web Services)2.0,由JSR 224定义,是Java EE 5平台的关键组成部分,它是JAX-RPC 1.1的升级版。JAX-WS的主要目标是简化基于XML的Web服务的开发任务,它提供...
对于想学习或已经在使用MyEclipse和JAX-WS开发Web服务的Java开发者来说,这是一个宝贵的资源。通过阅读文档,实践代码示例,开发者可以深入理解Web服务的开发流程,掌握客户端调用的技巧,从而提升在分布式系统集成...
【描述】中提到的“jax-ws开发dome”,这里的“dome”很可能是指“demo”,即示例项目。这表明压缩包内包含了演示如何使用JAX-WS创建、部署和消费Web服务的代码样本。它涵盖了从基本的SOAP(Simple Object Access ...
总结,JAX-WS作为Java中的Web服务框架,简化了服务的开发和调用流程。通过定义服务接口,实现服务逻辑,以及使用`Endpoint.publish()`发布服务,我们可以轻松地创建一个基于JAX-WS的Web服务。同时,利用`wsimport`...
【标题】:Web服务之Java ...综上所述,JAX-WS是Java平台上的Web服务标准,它通过注解驱动的模型和XML配置方式,简化了Web服务的开发和调用。与JAXB结合使用,能够高效地处理数据交换,是构建SOAP Web服务的重要工具。
标题中的“一个包含jax-ws和jax-rs的例子(含服务端和客户端)”是指这是一个示例项目,它演示了如何使用Java API for XML Web Services (JAX-WS)和Java API for RESTful Web Services (JAX-RS)来创建和消费Web服务。...
Java API for XML Web Services (JAX-WS) 是Java平台上的一个标准接口,用于创建和消费Web服务。它是Sun Microsystems在2004年推出的一个重要框架,旨在简化Web服务的开发,使得Java开发者能够更方便地实现基于SOAP...
综上所述,这个压缩包提供了开发和运行基于JAX-WS 2.1的Web服务所需的所有核心库和扩展API。开发者可以利用这些资源来创建服务器端Web服务,编写客户端代码来调用服务,以及实现Web服务的互操作性和安全性等功能。在...