`
zzc1684
  • 浏览: 1222639 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

JAX-WS 学习一:创建服务接口

阅读更多

Java1.6中自带了JAX-WS API,使得我们可以很方便、简单的开发一个基于Java的WebService应用。下面看一个JAX-WS中的HelloWord应用。

 

一、创建WebService Endpoint接口

首先我们来定义Server端的WebService服务接口,如下:

Java代码 复制代码 收藏代码
  1. package test;   
  2.   
  3. import javax.jws.WebService;   
  4.   
  5. @WebService  
  6. public interface Calculator {   
  7.   
  8.     public int add(int a, int b);   
  9.   
  10.     public int multi(int a, int b);   
  11. }   

这里看到在类定义上,加了一个“@WebService”的annotation,这是定义JAX-WS定义WebService的关键,这个annotation用来告诉java解析器你希望把这个接口中的方法发布成一些WebService的服务。

 

有了接口定义,下面给出一个实现:

Java代码 复制代码 收藏代码
  1. package test;   
  2.   
  3. import javax.jws.WebService;   
  4.   
  5. @WebService(endpointInterface = "test.Calculator")   
  6. public class CalculatorImpl implements Calculator {   
  7.   
  8.     public int add(int a, int b) {   
  9.         return a + b;   
  10.     }   
  11.   
  12.     public int multi(int a, int b) {   
  13.         return a * b;   
  14.     }   
  15.   
  16.     public int minus(int a, int b) {   
  17.         return a - b;   
  18.     }   
  19. }   

 这里WebService annotation里加了一个参数"endpointInterface",这个参数用来指定这个WebService的抽象服务接口,例如此处如果不用"endpointInterface"指定接口,那么生成的WebService服务有三个操作"add","multi"和"minus",也就是定义在当前类中的方法集;如果指定了endpointInterface,则只有"add","multi",即定义在Calculator中的方法集。

 

二、发布服务

 

上面就已经定义好了服务接口和服务实现类,然后就可以发布了。发布也是相当的简单,只需要一条语句:

Java代码 复制代码 收藏代码
  1. package test;   
  2.   
  3. import javax.xml.ws.Endpoint;   
  4.   
  5. public class Server {   
  6.   
  7.     public static void main(String[] args) {   
  8.         Endpoint.publish("http://localhost:8088/calculator",   
  9.                 new CalculatorImpl());   
  10.     }   
  11.   
  12. }  

 这里publish方法需要两个参数:

  • address:服务对外暴露的用于调用服务的地址
  • implementor:服务的实现对象

启动这个Server类,就可以访问服务了。要测试服务有没有启动,可以输入ttp://localhost:8088/calculator?wsdl,如果一切正常,就可以看到一个wsdl定义内容,表示服务已经成功启动。

 

三、annotations

使用jax-ws时,有两个重要的annotation:

  • @WebService

此注示用来标明此java类为某个WebService的实现类或者标明此java接口定义了某个WebService的接口。@WebService有六个参数可以用来配置这个WebService的定义: 

  1.  
    1. endpointInterface:上面已经介绍了,指向一个定义此WebService抽象定义接口的完整类路径
    2. name:WebService名;默认的port名为"实现类名+Port",binding名为"实现类名+PortBinding",通过指定name的值来替换 实现类名。
    3. portName:指定port名,可以完成替换默认port名,或由上面的"name"指定的port名。
    4. targetNamespace:指定targetNamespace值,默认的值为 "http://包名/",可以通过此变量指定一个自定义的targetNamespace值。(注:如果分别定义和接口和实现,则他们有各自的targetNamespace)
    5. serviceName:指定service名
    6. wsdlLocation:指向一个预定义的wsdl的文件,替代自动生成的wsdl文件。
  • @WebMethod
    1. action:指定此方法对应的action
    2. exclude:true --表示此方法包含在web服务中;false表示排除此方法
    3. operationName:指定方法对应的operation的名字。
分享到:
评论

相关推荐

    jax-rs jax-ws所需包,亲测可用

    `javax.xml.ws.Service`是JAX-WS规范的一部分,用于创建和实例化Web服务客户端。当这个类报错,通常是因为缺失了如wsimport工具或者相关的API依赖。而这个压缩包提供了解决这个问题的解决方案,用户只需将提供的四个...

    Jax-ws所需要的JAR包

    JAX-WS允许开发者将服务接口直接映射到SOAP消息,提供了强类型化的客户端调用API。 在Java应用服务器,如Tomcat中使用JAX-WS时,通常需要一些特定的JAR文件来支持其功能。这些JAR文件包含了JAX-WS的运行时库和相关...

    jax-ws api jar包

    JAX-WS(Java API for XML Web Services)是Java平台标准版(Java SE)和企业版(Java EE)的一部分,它为创建、部署和消费基于SOAP(Simple Object Access Protocol)的Web服务提供了全面的支持。JAX-WS允许开发者...

    解决weblogic部署JAX-WS需要的配置文件

    1. **创建JAX-WS服务**:首先,你需要编写一个实现JAX-WS规范的Java类,通常是一个实现了特定接口的Servlet。然后,利用工具如JAXB(Java Architecture for XML Binding)或手工方式生成服务的WSDL文件。 2. **打包...

    如何基于JAX-WS开发一个WebService实例

    JAX-WS提供了一种简单的方式来创建SOAP(Simple Object Access Protocol)Web服务,它集成了Java SE和Java EE平台,使得开发者可以方便地实现服务接口和服务实现,然后通过工具自动生成WSDL(Web Service ...

    学习JAX-WSWebService开发

    总结来说,学习JAX-WSWebService开发意味着掌握Web服务的基本概念、JAX-WS的API用法,以及在MyEclipse这样的IDE中实现和调试Web服务的方法。通过这个过程,开发者可以熟练地创建、部署和调用Java平台上的Web服务,...

    JAX-WS2.0 API

    JAX-WS(Java API for XML Web Services)2.0 API 是Java平台上的一个标准接口,用于创建和消费Web服务。它提供了一种简单、类型安全且与平台无关的方式来实现基于SOAP(Simple Object Access Protocol)的Web服务。...

    JAX-WS规范

    Java API for XML Web Services(JAX-WS)是Java平台上的一个标准,用于创建Web服务和客户端。它提供了一种简单、类型安全的方式来构建和消费基于SOAP的消息传递应用程序,是Java世界中实现Web服务的核心框架之一。...

    一个包含jax-ws和jax-rs的例子(含服务端和客户端)

    标题中的“一个包含jax-ws和jax-rs的例子(含服务端和客户端)”是指这是一个示例项目,它演示了如何使用Java API for XML Web Services (JAX-WS)和Java API for RESTful Web Services (JAX-RS)来创建和消费Web服务。...

    JAX-WS API, JAX-RS API

    Java API for XML Web Services (JAX-WS) 是Java平台上的一个标准接口,用于创建和消费Web服务。它是Sun Microsystems在2004年推出的一个重要框架,旨在简化Web服务的开发,使得Java开发者能够更方便地实现基于SOAP...

    jax-ws创建webservice

    总的来说,利用MyEclipse和jax-ws创建Web服务是一个高效且直观的过程,它为开发者提供了一套完整的工具链,从接口设计到服务部署,再到客户端的生成和测试,都大大简化了开发流程。通过学习和掌握这一技术,开发者...

    JAX-WS2.1用户指南

    JAX-WS(Java API for XML Web Services)是Java平台上用于创建Web服务的标准API,版本2.1是其一个重要里程碑。本指南将深入探讨JAX-WS 2.1的核心概念、功能以及如何在实际开发中应用它。以下是对JAX-WS 2.1的详细...

    webservice之jax-ws

    JAX-WS,全称为Java API for XML Web Services,是Java平台上的一个标准,用于构建和部署基于SOAP(Simple Object Access Protocol)的Web服务。它是Java SE和Java EE平台的一部分,简化了开发人员在Web服务领域的...

    jax-ws webservice简单demo

    在这个"jax-ws webservice简单demo"中,我们将探讨JAX-WS的基础知识、如何创建一个简单的Web服务以及如何测试这个服务。 首先,JAX-WS的核心组件包括: 1. **Service端点接口(SEI, Service Endpoint Interface)**...

    jax-ws发布webservice

    通过定义服务接口,实现服务逻辑,以及使用`Endpoint.publish()`发布服务,我们可以轻松地创建一个基于JAX-WS的Web服务。同时,利用`wsimport`工具生成客户端代码,可以方便地进行服务调用。在"jax-ws-server"和"jax...

    metro-jax-ws-jaxws221x.zip

    这表明压缩包内包含了演示如何使用JAX-WS创建、部署和消费Web服务的代码样本。它涵盖了从基本的SOAP(Simple Object Access Protocol)通信到更复杂的XML数据绑定和WS-Security安全配置等各种功能。 JAX-WS是Java...

    设计与开发 JAX-WS 2.0 Web 服务

    - **服务接口定义**:创建一个名为`OrderService`的接口,定义一个名为`processOrder`的方法,该方法接收订单信息作为参数并返回一个确认ID。 - **服务实现**:实现`OrderService`接口,具体实现在`...

    jax-ws2.1.zip

    1. **webservices-api.jar** - 这个JAR文件包含了JAX-WS的API接口定义,它定义了开发者用来创建和消费Web服务的类和接口。这些接口包括`javax.jws.WebService`注解,用于标记服务端点,以及`javax.xml.ws.Service`,...

    JAX-WS低版本

    **描述分析:** 描述提到“tomcat+webservice实现简单的web服务远程调用接口,所需的jar”,这暗示了在Apache Tomcat服务器上,我们将会使用JAX-WS来构建一个可以通过网络调用的Web服务接口。"所需的jar"是指为了...

    jax-ws实现webservice调用

    **Java API for XML Web Services (JAX-WS)** 是一种由Java SE和Java EE平台支持的用于构建Web服务的标准API。它使得开发人员能够轻松地创建、部署和使用基于SOAP(简单对象访问协议)的Web服务。在本教程中,我们将...

Global site tag (gtag.js) - Google Analytics