`
eksliang
  • 浏览: 601928 次
  • 性别: 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

 

 

分享到:
评论

相关推荐

    基于Springboot的漫画网站--论文.zip

    Java项目基于springboot的课程设计,包含源码+数据库+毕业论文

    Java毕业设计-SpringBoot+Vue的分布式架构网上商城(附源码、数据库、教程).zip

    Java 项目, Java 毕业设计,Java 课程设计,基于 SpringBoot 开发的,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行! 1. 技术组成 前端:html、javascript、Vue 后台框架:SpringBoot 开发环境:idea 数据库:MySql(建议用 5.7 版本,8.0 有时候会有坑) 数据库工具:navicat 部署环境:Tomcat(建议用 7.x 或者 8.x 版本), maven 2. 部署 如果部署有疑问的话,可以找我咨询 Java工具包下载地址: https://pan.quark.cn/s/eb24351ebac4 后台路径地址:localhost:8080/项目名称/admin/dist/index.html 前台路径地址:localhost:8080/项目名称/front/index.html (无前台不需要输入)

    GUI面板MATLAB漂浮物识别.zip

    GUI面板MATLAB漂浮物识别

    【工程项目】MATLAB道路桥梁裂缝检测[不同类型,GUI界面,Bp算法].zip

    【工程项目】MATLAB道路桥梁裂缝检测[不同类型,GUI界面,Bp算法]

    Delphi 12.3控件之高仿银豹手机APP 1.0.zip

    Delphi 12.3控件之高仿银豹手机APP 1.0.zip

    springboot高校食堂移动预约点餐系统.zip

    ava项目springboot基于springboot的课程设计,包含源码+数据库+毕业论文

    基于SSM+JSP的定西扶贫惠农推介系统+数据库(Java毕业设计,包括源码,教程).zip

    Java 项目, Java 毕业设计,Java 课程设计,基于 SpringBoot 开发的,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行! 1. 技术组成 前端:jsp 后台框架:SSM 开发环境:idea 数据库:MySql(建议用 5.7 版本,8.0 有时候会有坑) 数据库工具:navicat 部署环境:Tomcat(建议用 7.x 或者 8.x 版本), maven 2. 部署 如果部署有疑问的话,可以找我咨询 Java工具包下载地址: https://pan.quark.cn/s/eb24351ebac4

    GUI面板MATLAB指纹识别.zip

    GUI面板MATLAB指纹识别

    【工程项目】MATLAB的病虫害检测系统(SVM方法,GUI界面).zip

    【工程项目】MATLAB的病虫害检测系统(SVM方法,GUI界面)

    基于ssm+vue的药品商超管理系统(java毕业设计,包括源码,数据库,教程).zip

    Java 项目, Java 毕业设计,Java 课程设计,基于 SSM 开发的,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行! 1. 技术组成 前端:vue/html5 后台框架:SSM 开发环境:idea 数据库:MySql(建议用 5.7 版本,8.0 有时候会有坑) 数据库工具:navicat 部署环境:Tomcat(建议用 7.x 或者 8.x 版本), maven 2. 部署 如果部署有疑问的话,可以找我咨询 Java工具包下载地址: https://pan.quark.cn/s/eb24351ebac4

    Java毕业设计-SpringBoot+Vue的旅游管理系统(附源码,数据库).zip

    Java 项目, Java 毕业设计,Java 课程设计,基于 SpringBoot 开发的,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行! 1. 技术组成 前端:html、javascript、Vue 后台框架:SpringBoot 开发环境:idea 数据库:MySql(建议用 5.7 版本,8.0 有时候会有坑) 数据库工具:navicat 部署环境:Tomcat(建议用 7.x 或者 8.x 版本), maven 2. 部署 如果部署有疑问的话,可以找我咨询 Java工具包下载地址: https://pan.quark.cn/s/eb24351ebac4 后台路径地址:localhost:8080/项目名称/admin/dist/index.html 前台路径地址:localhost:8080/项目名称/front/index.html (无前台不需要输入)

    Java毕业设计-SpringBoot+Vue的基于SpringBoot的CSGO赛事管理系统(附源码、数据库、教程).zip

    Java 项目, Java 毕业设计,Java 课程设计,基于 SpringBoot 开发的,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行! 1. 技术组成 前端:html、javascript、Vue 后台框架:SpringBoot 开发环境:idea 数据库:MySql(建议用 5.7 版本,8.0 有时候会有坑) 数据库工具:navicat 部署环境:Tomcat(建议用 7.x 或者 8.x 版本), maven 2. 部署 如果部署有疑问的话,可以找我咨询 Java工具包下载地址: https://pan.quark.cn/s/eb24351ebac4 后台路径地址:localhost:8080/项目名称/admin/dist/index.html 前台路径地址:localhost:8080/项目名称/front/index.html (无前台不需要输入)

    2023年计算机组成与维护教程题库及答案.pdf

    2023年计算机组成与维护教程题库及答案.pdf

    本文章是本人在学习初阶数据结构的随手笔记,不具有任何教学功能,仅供参考

    本文章是本人在学习初阶数据结构的随手笔记,不具有任何教学功能,仅供参考

    #深度学习环境配置#CUDA+CUDNN+pycharm

    #深度学习环境配置#CUDA+CUDNN+pycharm

    springboot-时间管理系统 LW PPT.zip

    ava项目springboot基于springboot的课程设计,包含源码+数据库+毕业论文

    2023年全国计算机二级笔记.pdf

    2023年全国计算机二级笔记.pdf

    【工程项目】MATLAB的CNN卷积神经网络疲劳检测(卷积神经网络).zip

    【工程项目】MATLAB的CNN卷积神经网络疲劳检测(卷积神经网络)

    Java毕业设计-SpringBoot+Vue的“漫画之家”系统(附源码、数据库、教程).zip

    Java 项目, Java 毕业设计,Java 课程设计,基于 SpringBoot 开发的,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行! 1. 技术组成 前端:html、javascript、Vue 后台框架:SpringBoot 开发环境:idea 数据库:MySql(建议用 5.7 版本,8.0 有时候会有坑) 数据库工具:navicat 部署环境:Tomcat(建议用 7.x 或者 8.x 版本), maven 2. 部署 如果部署有疑问的话,可以找我咨询 Java工具包下载地址: https://pan.quark.cn/s/eb24351ebac4 后台路径地址:localhost:8080/项目名称/admin/dist/index.html 前台路径地址:localhost:8080/项目名称/front/index.html (无前台不需要输入)

    2023年秋福师计算机辅助设计MAYA在线作业二.pdf

    2023年秋福师计算机辅助设计MAYA在线作业二.pdf

Global site tag (gtag.js) - Google Analytics