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 方法的名称 |
| action | 定义此操作的行为。对于 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 继承的方法。
JAX-WS 注解的更多相关文章
- Java 5 、6、 7中新特性
JDK5新特性(与1.4相比)[转] 1 循环 for (type variable : array){ body} for (type variable : arrayList){body} 而1. ...
- Spring 4 集成Apache CXF开发JAX-RS Web Service
什么是JAX-RS 在JSR-311规范中定义,即Java API for RESTful Web Services,一套Java API,用于开发 RESTful风格的Webservice. 工程概 ...
- 翻译-使用Spring WebService生成SOAP Web Service
原文链接:http://spring.io/guides/gs/producing-web-service/ 生成SOAP web service 该指南将带领你使用Spring创建一个基于SOAP的 ...
- iOS开发之 几本书
<object_c 编程之道书> <iOS 7 UI Transition Guide> iOS开发指南:从零基础到App Store上架[国内第一本iOS架构设计图书,涵盖i ...
- WebService第一天
WebService第一天 [课程安排]: 整体安排:2天: 第一天:webservice入门,JDK规范和实现:jax-ws,相关概念 第二天:CXF框架,和spring的集成开发.Hessian的 ...
- weblogic项目转为tomcat之后出现的问题
解决java - JAX-WS和版本冲突 itPublisher分享于2017-03-19 推荐:JWS,JAX-WS,JAX-RS,REST,Restlet,SOAP(JAVA Web Servic ...
- webservice系统学习笔记1-使用注解创建ws服务
简单入门之helloword,具体详细的在后面的章节详细介绍. 使用JDK自带的jax-ws创建并发布一个简单的webservice 在本地创建服务,然后本机访问 1.创建服务提供接口 IMyServ ...
- webservice快速入门-使用JAX-WS注解的方式快速搭建ws服务端和客户端(一)
1.定义接口 package org.WebService.ws.annotation; import javax.jws.WebService; @WebService public interfa ...
- 【转】@javax.ws.rs Webservice注解
用于webservice. 1.路径 @javax.ws.rs.Path 标识要请求的资源类或资源方法的uri路径. 例,@Path("animal"),表示下一层路径是anima ...
- 【Java EE 学习 80 下】【调用WebService服务的四种方式】【WebService中的注解】
不考虑第三方框架,如果只使用JDK提供的API,那么可以使用三种方式调用WebService服务:另外还可以使用Ajax调用WebService服务. 预备工作:开启WebService服务,使用jd ...
随机推荐
- python2.7练习小例子(八)
8):题目:输出 9*9 乘法口诀表. 程序分析:分行与列考虑,共9行9列,i控制行,j控制列. 程序源代码: #!/usr/bin/python # -*- coding: ...
- P1189 SEARCH(逃跑的拉尔夫)
P1189 SEARCH 题目描述 年轻的拉尔夫开玩笑地从一个小镇上偷走了一辆车,但他没想到的是那辆车属于警察局,并且车上装有用于发射车子移动路线的装置. 那个装置太旧了,以至于只能发射关于那辆车的移 ...
- 源码解析:解析掌阅X2C 框架
前言 掌阅出品了X2C 框架,听说可以加快性能.喜欢研究源码的我,肯定要来看下是怎么回事. 作为一个开发,应该不屑于只会使用开源框架. OK,来尝试下. 项目地址: https://github.co ...
- Thymeleaf 常用th标签基础整理
(一)Thymeleaf 是个什么? 简单说, Thymeleaf 是一个跟 Velocity.FreeMarker 类似的模板引擎,它可以完全替代 JSP .相较与其他的模板引擎,它有如下 ...
- ES6 export,import报错
问题描述: 现有两个文件: profile.js const firstName = 'Michael'; const lastName = 'Jackson'; const year = 2018; ...
- pytest 测试报告
测试报告 运行测试用例后,为了保存结果,我们需要生成测试报告,同时可以把运行的测试报告发送相关人员查阅,这时需要安装一个插件(pytest-html) pytest-html插件安装 pip inst ...
- Python 学习笔记之—— PIL 库
PIL,全称 Python Imaging Library,是 Python 平台一个功能非常强大而且简单易用的图像处理库.但是,由于 PIL 仅支持到Python 2.7,加上年久失修,于是一群志愿 ...
- [转载]深入理解Batch Normalization批标准化
文章转载自:http://www.cnblogs.com/guoyaohua/p/8724433.html Batch Normalization作为最近一年来DL的重要成果,已经广泛被证明其有效性和 ...
- winform label去背景
以pictureBox上面显示一个不需要背景的label为例: 1.保证label的父控件是该pictureBox: 2.label的color属性为transParent:
- lintcode-127-拓扑排序
127-拓扑排序 给定一个有向图,图节点的拓扑排序被定义为: 对于每条有向边A--> B,则A必须排在B之前 拓扑排序的第一个节点可以是任何在图中没有其他节点指向它的节点 找到给定图的任一拓扑排 ...