`

JAX-WS 注解

阅读更多
一、概述
“基于 XML 的 Web Service 的 Java API”(JAX-WS)通过使用注释来指定与 Web Service 实现
相关联的元数据以及简化 Web Service 的开发。注解描述如何将服务器端的服务作为 Web Service 进行
发布或者客户端的 Java 类如何访问 Web Service。

二、javax.jws.WebService
该注解应用于类或者接口上面,该类便是一个对外访问WebService,默认情况里面所有的public方法都是
可以对外提供访问,如果@WebServcie标注接口,那么该接口有一个专业名称SEI(ServiceEnpointInterface),该注解的属性如下:

name 服务实现类的名称,wsdl上面<wsdl:portType> 的名称
serviceName 服务名称,wdsl上面<wsdl:service>的名称,缺省值为 Java 类的简单名称 + Service
portName wsdl上面<wsdl:portName>的名称,默认为发布实现者+Port
targetNamespace 命名空间名称:发布webService服务的命名空间,此名称默认为包路径的“倒写”
endpointInterface 服务接口全路径, 指定做SEI(Service EndPoint Interface)服务端点接口
wsdlLocation 指定用于定义 Web Service 的 WSDL 文档的 Web 地址。Web 地址可以是相对路径或绝对路径。

三、javax.jws.WebMethod
@WebMethod注解,该注解应用于方法上面,该注解的属性如下所示:

operationName 指定与此方法相匹配的<wsdl:operation>的名称。缺省值为 Java 方法的名称
operationName 定义此操作的行为。对于 SOAP 绑定,此值将确定 <SOAP:action> 头的值。缺省值为 Java 方法的名称。
exclude 指定是否从 Web Service 中排除某一方法。缺省值为 false。

四、javax.jws.Oneway
@Oneway 该注解应用于方法上

注释将一个方法表示为只有输入消息而没有输出消息的 Web Service 单向操作。
将此注释应用于客户机或服务器服务端点接口(SEI)上的方法,或者应用于 JavaBeans 端点的服务器端点实现类 


五、javax.jws.WebParam
@WebParam 注释用于定制从单个参数至 Web Service 消息部件和 XML 元素的映射。
将此注释应用于客户机或服务器服务端点接口(SEI)上的方法,或者应用于 JavaBeans 端点的服务器端点实现类;该注解属性如下所示:

name 参数的名称。如果操作是远程过程调用(RPC)类型并且未指定partName 属性,那么这是用于表示参数的 wsdl:part 属性的名称。如果操作是文档类型或者参数映射至某个头,那么 -name 是用于表示该参数的 XML 元素的局部名称。如果操作是文档类型、参数类型为 BARE 并且方式为 OUT 或 INOUT,那么必须指定此属性。
partName 定义用于表示此参数的 wsdl:part属性的名称。仅当操作类型为 RPC 或者操作是文档类型并且参数类型为BARE 时才使用此参数
targetNamespace 指定参数的 XML 元素的 XML 名称空间。当属性映射至 XML 元素时,仅应用于文档绑定。缺省值为 Web Service 的 targetNamespace。
mode 此值表示此方法的参数流的方向。有效值为 IN、INOUT 和 OUT。
header 指定参数是在消息头还是消息体中。缺省值为 false。

六、javax.jws.WebResult
@WebResult 注释用于定制返回值至 WSDL 部件或 XML 元素的映射。
将此注释应用于客户机或服务器服务端点接口(SEI)上的方法,或者应用于 JavaBeans 端点的服务器端点实现类。该注解的属性如下:

name 当返回值列示在 WSDL 文件中并且在连接上的消息中找到该返回值时,指定该返回值的名称。对于 RPC 绑定,这是用于表示返回值的 wsdl:part属性的名称。对于文档绑定,-name参数是用于表示返回值的 XML 元素的局部名。对于 RPC 和 DOCUMENT/WRAPPED 绑定,缺省值为 return。对于 DOCUMENT/BARE 绑定,缺省值为方法名 + Response。
targetNamespace 指定返回值的 XML 名称空间。仅当操作类型为 RPC 或者操作是文档类型并且参数类型为 BARE 时才使用此参数
header 指定头中是否附带结果。缺省值为false
partName 指定 RPC 或 DOCUMENT/BARE 操作的结果的部件名称。缺省值为@WebResult.name

七、javax.jws.SOAPBinding
@SOAPBinding 注释指定 Web Service 与 SOAP 消息协议之间的映射。

将此注释应用于客户机或服务器服务端点接口(SEI)上的类型或方法,或者应用于 JavaBeans 端点的服务器端点实现类。
方法级别的注释仅限于它可以指定的对象,仅当style 属性为 DOCUMENT 时才使用该注释。如果未指定方法级别的注释,那么将使用类型的@SOAPBinding 行为,该注解的属性如下所示:

style 定义发送至 Web Service 和来自 Web Service 的消息的编码样式。有效值为DOCUMENT 和 RPC。缺省值为DOCUMENT。
use 定义用于发送至 Web Service 和来自 Web Service 的消息的格式。缺省值为 LITERAL。ENCODED 在 Feature Pack for Web Services 中不受支持。
parameterStyle 确定方法的参数是否表示整个消息体,或者参数是否是封装在执行操作之后命名的顶级元素中的元素。有效值为 WRAPPED 或 BARE。对于DOCUMENT 类型的绑定只能使用BARE 值。缺省值为 WRAPPED。

八、使用 @WebService需要注意的地方
如果某个实现类的 @WebService 注释引用了 SEI,那么该实例类不能具有任何 @WebMethod 注释。

无论是否指定了 @WebMethod 注释,SEI 的所有公用方法都被认为是已显示的方法。在包含 exclude 属性的 SEI 上使用 @WebMethod 注释是不正确的。

对于不引用 SEI 的实现类,如果对 @WebMethod 注释指定了值 exclude=true,那么不会显示该方法。如果未指定 @WebMethod 注释,那么将显示包括继承的方法在内的所有公用方法,但是不包括从 java.lang.Object 继承的方法。
0
1
分享到:
评论

相关推荐

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

    JAX-RS允许开发者使用注解来定义Web服务接口,简化了开发过程。常见的实现有Jersey、RESTEasy和Apache CXF。 2. **JAX-WS**(Java API for XML Web Services)是Java平台上的SOAP(Simple Object Access Protocol)...

    webservice Demo注解+jax-ws

    以下是一些常见的JAX-WS注解: 1. `@WebService`:这个注解标记一个Java类作为Web服务的接口。它包含了服务的名称、命名空间等信息。 2. `@WebMethod`:应用于方法,表示该方法是Web服务的操作。 3. `@WebResult`:...

    jax-ws api jar包

    - **@WebService**:这是JAX-WS中的一个关键注解,用于标记一个Java类作为Web服务的接口。它允许开发者定义服务端点接口(SEI,Service Endpoint Interface),其中包含了服务的方法。 - **@SOAPBinding**:这个...

    Jax-ws所需要的JAR包

    在实际应用中,使用JAX-WS进行Web服务开发时,开发者需要定义服务接口和实现,然后通过注解或部署描述符来配置服务。服务可以通过HTTP协议暴露,客户端则可以通过生成的Stub类或者使用JAX-WS的`Service`类来调用这些...

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

    - **添加注解**:在服务接口和实现类上添加必要的JAX-WS注解,例如`@WebService`和`@WebMethod`等,用以指导工具生成相应的WSDL文件和其他元数据。 3. **示例:订单处理Web服务** - **服务接口定义**:创建一个...

    JAX-WS API, JAX-RS API

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

    JAX-WS2.0 API

    JAX-WS 2.0是JAX-WS的第二个主要版本,它在JAX-RPC(Java API for XML-based RPC)的基础上进行了改进,引入了许多新特性以提升开发者的体验和效率。 **JAX-WS 2.0 的核心概念:** 1. **服务端点接口(SEI, ...

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

    JAX-WS通过注解和接口定义服务,使得代码更加简洁且易于维护。 JAX-RS,另一方面,是用于创建RESTful Web服务的标准,遵循资源导向的架构。REST是一种轻量级的架构风格,它使用HTTP方法(如GET、POST、PUT、DELETE...

    gsoap客户端Jax-ws服务端实例

    定义服务接口,使用JAX-WS注解如`@WebService`和`@SOAPBinding`,并实现相应的业务逻辑。 2. **部署服务**:将服务部署到Tomcat或其他兼容的Java应用服务器上,确保服务可用并可以通过HTTP/HTTPS访问。 3. **生成...

    metro-jax-ws-jaxws221x.zip

    【标题】"metro-jax-ws-jaxws221x.zip" 提供的是一个关于JAX-WS(Java API for XML Web Services)的开发示例,其中包含了JAX-WS 2.2.1版本的相关组件和库文件。这个压缩包是针对Java开发者设计的,用于帮助他们理解...

    webservice之jax-ws

    【标题】:Web服务之Java ...综上所述,JAX-WS是Java平台上的Web服务标准,它通过注解驱动的模型和XML配置方式,简化了Web服务的开发和调用。与JAXB结合使用,能够高效地处理数据交换,是构建SOAP Web服务的重要工具。

    JAX-WS2.1用户指南

    使用JAX-WS,可以通过简单的注解在Java类上声明服务端点接口,并将其部署到支持JAX-WS的服务器上,如Tomcat或JBoss。服务可以使用HTTP、HTTPS等传输协议,并且可以与JMS、JCA等其他Java技术集成。 4. **SOAP消息...

    jax-ws2.1.zip

    这些接口包括`javax.jws.WebService`注解,用于标记服务端点,以及`javax.xml.ws.Service`,用于客户端消费Web服务。 2. **webservices-extra.jar** - 此文件可能包含JAX-WS的一些扩展或额外功能,如WS-I(Web ...

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

    JAX-WS(Java API for XML Web Services)是Java平台上的一个标准,用于创建和消费Web服务。本篇将深入讲解如何基于JAX-WS开发一个WebService实例。 首先,让我们了解JAX-WS的基本概念。JAX-WS提供了一种简单的方式...

    jax-ws发布webservice

    Java API for XML Web Services(JAX-WS)是Java平台上的一个标准,用于构建和部署Web服务。它简化了Web服务的开发,使得Java开发者能够更方便地创建、调用和部署SOAP(Simple Object Access Protocol)服务。在这个...

    jax-ws用户指南 pdf版

    - **概览**:介绍了 JAX-WS 中使用的注解及其作用。 - **JSR-181 注解**:详细解释了 JSR-181 规范中定义的注解,并给出了使用示例。 - **@WebService 注解**:重点讨论了 @WebService 注解的使用场景。 - **@...

    JAX-WS低版本

    3. **Web服务的创建**:使用JAX-WS,你可以通过注解(如@WebService)将普通的Java类声明为Web服务。服务端接口定义了可供客户端调用的操作,而实现类则提供了具体的服务逻辑。 4. **WSDL**:Web服务描述语言(WSDL...

    JAX-WS使用教程(内含jar包)

    **JAX-WS使用教程** Java API for XML Web Services (JAX-WS) 是Java平台上的标准组件,用于创建和消费Web服务。它允许开发者利用面向服务架构(SOA)来构建分布式应用程序。本教程将深入讲解JAX-WS的核心概念、...

    jax-ws实现webservice调用

    使用JAX-WS,你可以通过添加注解(如`@WebService`)或使用XML配置文件来部署服务。对于简单的应用,注解方式更常见。例如,部署到Tomcat服务器时,只需确保服务类位于正确的包结构中,然后启动服务器。 ### 4. ...

    jax-ws 2.0文档说明以及源码

    **Java API for XML Web Services(JAX-WS)2.0**是Java平台上的一个标准,用于构建和消费Web服务。它提供了简化Web服务开发的API,使得开发者能够以更面向对象的方式处理Web服务。本篇文章将深入探讨JAX-WS 2.0的...

Global site tag (gtag.js) - Google Analytics