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

JAX-WS 注解

阅读更多

转载请出自出处:http://eksliang.iteye.com/blog/2265427

一、概述

“基于 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 继承的方法。

 

 

参考博客:

http://blog.sina.com.cn/s/blog_551d2eea0101jwpv.html

http://yufenfei.iteye.com/blog/1685249

 

 

分享到:
评论

相关推荐

    使用JAX-WS(JWS)发布WebService

    使用JAX-WS(JWS)发布WebService 使用myeclipse开发java的webservice的两种方式 方式一: (此方式只能作为调试,有以下bug:jdk1.6u17?以下编译器不支持以Endpoint.publish方式发布document方式的soap,必须在...

    Spring3_JAX-WS

    这是我学习Spring3.2.8 JAX-WS时候做的基于注解的一个联系程序,使用Tomcat6测试通过了,用SOAPUI做的访问测试,希望可以帮助初次学习者部分的朋友理清思路。

    webservice Demo注解+jax-ws

    对webservice入门是很好的例子 使用webservice注解 基于jax ws jdk自带实现 知识点在readme txt中有详细介绍

    jax-wswebservice注解详解[整理].pdf

    jax-wswebservice注解详解[整理].pdf

    java webservice 详细开发示例介绍

    JAX-WS(JSR 224)规范的 API位于 javax.xml.ws.*包,其中大部分都是注解,提供API操 作 Web 服务(通常在客户端使用的较多,由于客户端可以借助 SDK生成,因此这个包中的 API我们较少会直接使用)。 WS-MetaData...

    wsdl2java源码-CXFDemo:一个关于CXF实现jax-ws规范的webservice

    一个关于CXF实现jax-ws规范的webservice #CXF框架 Apache CXF=Celtix+Xfire.是一个开源的一个webservice,可以与spring无缝集成。支持soap1.1、1.2、RESTtful或者CORBA。 ##使用CXF实现jax-ws规范的webservice ...

    CXF创建webservice服务端.doc

    2. Frontends:CXF 支持多种“Frontend”编程模型,CXF 实现了 JAX-WS API (遵循 JAX-WS 2.0 TCK 版本),它也包含一个“simple frontend”允许客户端和 EndPoint 的创建,而不需要 Annotation 注解。CXF 既支持 ...

    apache-cxf-3.1.1

    Frontends:CXF 支持多种“Frontend”编程模型,CXF 实现了JAX-WS API (遵循 JAX-WS 2.0 TCK 版本),它也包含一个“simple frontend”允许客户端和 EndPoint 的创建,而不需要 Annotation 注解。CXF 既支持 WSDL...

    CXF的学习笔记

    Frontends:CXF 支持多种“Frontend”编程模型,CXF 实现了 JAX-WS API (遵循 JAX-WS 2.0 TCK 版本),它也包含一个“simple frontend”允许客户端和 EndPoint 的创建,而不需要 Annotation 注解。CXF 既支持 WSDL ...

    cxf-rt-frontend

    CXF提供两种类型的前端(Frontend):JAX-WS和简单前端(Simple Frontend)。本节将详细介绍JAX-WS前端。 JAX-WS前端 Code-First方式 创建Service Endpoint Interface ( SEI) 添加Java注解 发布服务 开发客户端 ...

    api-doclet:Doclet 从 JAX-RS 2、BeanValidation、JavaDoc 标签收集各种信息

    信息来源JAX-RS 2.0 注释 ( ) 支持的注释: 标准方法代号 自定义方法指示符(注解 ) 参数@PathParam @QueryParam @FormParam @HeaderParam @CookieParam @MatrixParam @DefaultValue HTTP 正文有效负载尚不支持: @...

    java调用wsdl接口源码-cxf-plus:apachecxf在支持通用数据类型方面的增强

    简化集成,针对目前大多数服务使用SpringFramework的特点,自动查找JAX-WS和JAX-RS注解进行服务发布,用户只需配置一个Servlet即可发布WebService。 运维支持:支持在日志输出报文,报文格式化等,便于开发调试。...

    Webservice-CXF实用手册学习大全

    wsdl解析,soap消息格式 输入输出参数的注解,Web服务上下文 Jax—Ws异常处理,MTOM文件传输 Jax-Rs,Web服务生命周期 Cxf集成Spring 安全机制(用户命令+数字签名+混合验证) Cxf拦截器特征机制,Jax-Rs异步调用

    JDK+6.0+ZH+API.chm.zip

    JDK6的新特性 JDK6的新特性之一_Desktop类和SystemTray类 JDK6的新特性之二_使用JAXB2来...JDK6的新特性之十一_更简单强大的JAX-WS JDK6的新特性之十三_JTable的排序和过滤 JDK6的新特性之十二_脚本语言支持

    Java全栈工程师-Apache CXF

    本课程讲解CXF的JAX-WS方式开发WebService的服务端和客户端?本课程讲解CXF的JAX-RS注解方式开发WebService的服务端和客户端?本课程讲解SpringBoot整合CXF开发WebService

    mochasoft-framework:摩卡软件的 java 开发框架

    SOAP WebService: JAX-WS2.0的注解 + Apache CXF 无疑是最成熟 Restful Service: JAX-RS 1.0 + Jersey/CXF,够标准,但直接使用Spring MVC能使架构更简单 **展现层:**JSP2.0且尽量使用JSP EL而不是taglib,万一要...

    Java_EE_6规范中文版

    6.13 JAX-WS 2.2 标准 6.14 JAX-RS 1.1标准 6.15 JAXB 2.2 标准 6.16 JAXR 1.0 标准 6.17 API 1.1标准 6.18 API 1.2 标准 6.19 JACC 1.4 标准 6.20 JASPIC 1.0 标准 6.21 JSR-45 标准 6.22 SJSTL 1.2 标准 6.23 ...

    resteasy示例

    RESTEasy 项目是 JAX-RS 的一个实现,集成的一些亮点: * 不需要配置文件,只要把JARs文件放到类路径里面,添加 @Path 注解就可以了。 * 完全的把 RESTEeasy 配置作为Seam 组件来看待。 * HTTP 请求由Seam来提供...

    Spring中文帮助文档

    2.5.7. JAX-WS支持 2.6. 其他 2.6.1. 动态语言支持 2.6.2. 增强的测试支持 2.6.3. JMX 支持 2.6.4. 将Spring 应用程序上下文部署为JCA adapter 2.6.5. 计划任务 2.6.6. 对Java 5 (Tiger) 支持 2.7. 移植到...

Global site tag (gtag.js) - Google Analytics