WebService之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
WebService之JAX-WS注解描述相关推荐
- spring和maven_具有Spring和Maven教程的JAX–WS
spring和maven Spring框架通过JAX-WS提供对Web服务的远程支持,实际上,如Spring 参考文档中所述 ,有三种将Spring POJO服务公开为JAX-WS Web服务的方式: ...
- 带有Spring和Maven教程的JAX–WS
Spring框架通过JAX-WS提供对Web服务的远程支持,实际上,如Spring 参考文档中所述 ,有三种将Spring POJO服务公开为JAX-WS Web服务的方式: 公开基于Servlet的 ...
- jax ws ri 生成java类_JAX-WS(一)之使用wsgen从Java创建简单的WebService
概念 JAX-WS2.0的全称Java API for XML-Based Web Service 2.0.JAX-WS2.0是对JAX-RPC1.0规范的扩展,是JAX-RPC1.1的后续版本,JA ...
- Spring Boot 注解描述
一.注解(annotations)列表 @SpringBootApplication:包含了@ComponentScan.@Configuration和@EnableAutoConfiguratio ...
- webservice+cxf+spring+mysql+注解_WebService:WebService+Springboot常用注解
这位博主主要讲了WebService的CXF的jar包运用,很实用 @WebService 1.serviceName: 对外发布的服务名,指定 Web Service 的服务名称:wsdl:serv ...
- 注解描述(持续更新)
@Inherited 允许子类继承父类的注解. @Retention 这个是声明注解的,@Retention(RetentionPolicy.RUNTIME),表示jvm运行时,此注解可被读出 转载于 ...
- Java工作笔记-webService发布时通用的4个注解
@WebService @WebMethod @WebResult @WebParam @WebService对类进行注解 1. serviceName:对外发布的服务名,指定WebService服务 ...
- WebService就是这么简单
WebService介绍 首先我们来谈一下为什么需要学习webService这样的一个技术吧.... 问题一 如果我们的网站需要提供一个天气预报这样一个需求的话,那我们该怎么做????? 天气预报这么 ...
- webService(简单小demo)
1.什么是webService? 1.1.先说好处: WebService是两个系统的远程调用,使两个系统进行数据交互,如应用: 天气预报服务.银行ATM取款.使用邮箱账号登录各网站等. WebSer ...
最新文章
- 前端 ----jQuery的动画效果
- Problem 62 Java中的final关键字?
- Netty详解(二)Linux 网络IO模型
- python urllib.request ssl失败_python requests SSL证书问题
- 存储过程 SQL server(01)
- 原生js实现ajax
- centos7 搭建apache druid
- 显卡型号区分 N卡和A卡 N卡与A卡的区别
- 七年为限 一觉梦已远——我与你的新贵族
- 阿里云CentOS环境之docker安装,启动,加速器,docker-compose(十四)
- 互联网服务:从单一应用到微服务
- c++ 程序员成长书单
- codeforces 696C C. PLEASE(概率+快速幂)
- 独立开发的基于springboot + websocket IM网站聊天系统总结
- 车载网络: ECU (电子控制单元)
- 加入滚动条的html代码
- 海信JAVA开发笔试题_JAVA设计模式之【工厂方法模式】
- 神经重症患者要防深静脉血栓形成
- Android逆向之去除APK中的广告
- 洛谷P1638 逛画展-最简单的双指针做法
热门文章
- PCL点云处理之基于八叉树的三种邻近点搜索接口详细解释(八十九)
- 区块链-DEFI产品
- php导航代码在线编辑器,只需一行代码,轻松实现一个在线编辑器
- wampserver启动图片为橙色
- 51 nod 1014 X^2 Mod P
- CreateThread、_beginthreadex和AfxBeginThread 的区别
- 03 微架构教务系统——课程创建接口、课程更新接口、课程删除接口
- NSString使用stringWithFormat拼接的冷知识
- python不能创建集合的有哪些_Python3基础 frozenset() 创建一个不可更改的集合
- Camera 涉及的文件