概念
RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。
JAX-WS规范是一组XML web services的JAVA API。JAX-WS允许开发者可以选择RPC-oriented或者message-oriented 来实现自己的web services。在 JAX-WS中,一个远程调用可以转换为一个基于XML的协议例如SOAP。在使用JAX-WS过程中,开发者不需要编写任何生成和处理SOAP消息的代码。JAX-WS的运行时实现会将这些API的调用转换成为对于SOAP消息。
在服务器端,用户只需要通过Java语言定义远程调用所需要实现的接口SEI (service endpoint interface),并提供相关的实现,通过调用JAX-WS的服务发布接口就可以将其发布为WebService接口。
在客户端,用户可以通过JAX-WS的API创建一个代理(用本地对象来替代远程的服务)来实现对于远程服务器端的调用。
通过web service所提供的互操作环境,我们可以用JAX-WS轻松实现JAVA平台与其他编程环境(.net等)的互操作。
JAX-WS annotation
主要常用接口:
只有输入值,无返回值 |
|
对方法进行注解 |
|
对输入参数进行注解 |
|
对返回数据进行注解 |
|
注解一个web服务 |
@WebService,必选的标注。用于导出的服务接口及其实现类
name |
定义导出的服务接口的名字,对应于WSDL文档中wsdl:portType。默认是服务接口的Java类名加PortType |
targetNamespace |
定义导出的服务接口的名域(namespace),默认是倒置的服务接口Java包名。如demo.cxf.UserService的名域将会是http://cxf.demo/ |
serviceName |
定义服务名,与名域一起唯一标识一个服务。默认是其Java类名 |
wsdlLocation |
其WSDL文档URL。可由服务器容器自动产生 |
endpointInterface |
指定服务接口的Java类。通常用于服务实现类的标注。应当指定类的全名,如demo.cxf.UserService |
portName |
对应WSDL文档中的wsdl:port元素。默认是Java类名加Port |
@WebMethod,可选的标注,用于服务接口的方法
operationName |
指定方法在WSDL文档中的名字,客房端用此名字调用方法 |
action |
Specifies the value of the soapAction attribute of the soap:operation element generated for the method. The default value is an empty string. |
exclude |
生成WSDL文档时将该方法排除在外 |
@SOAPBinding,可选的标注,用于指定生成的SOAP定义文档风格。关于此标注再详细的信息请查阅SOAP标准等参考资料
style |
Style.DOCUMENT (默认) Style.RPC |
SOAP消息风格 |
use |
Use.LITERAL (默认) Use.ENCODED |
SOAP数据编码方式 |
parameterStyle |
ParameterStyle.BARE ParameterStyle.WRAPPED (默认) |
Specifies how the method parameters, which correspond to message parts in a WSDL contract, are placed into the SOAP message body. A parameter style of BARE means that each parameter is placed into the message body as a child element of the message root. A parameter style of WRAPPED means that all of the input parameters are wrapped into a single element on a request message and that all of the output parameters are wrapped into a single element in the response message. If you set the style to RPC you must use the WRAPPED parameter style. |
@RequestWrapper,可选的标注,用于指定如何包装客户端调用服务方法使用的参数
@ResponseWrapper,可选的标注,用于指定如何包装客户端调用服务方法的返回值
@WebFault,可选的标注,用于注解服务接口方法抛出的异常
name |
异常的名字 |
targetNamespace |
对应的名域,默认是服务接口的名域 |
faultName |
实现该异类的类名 |
@WebParam,可选的标注,用于指定方法参数的使用方式
name |
在WSDL文档中的名字,默认是arg0,arg1… |
targetNamespace |
对应的名域。默认是服务接口的名域 |
mode |
Mode.IN (默认)、Mode.OUT、Mode.INOUT 对于Java程序没有意义 |
header |
true或者false(默认),指定该参数是否在SOAP消息头部发送 |
partName |
Specifies the value of the name attribute of the wsdl:part element for the parameter when the binding is document. |
@WebResult,可选的标注,用于指定返回值的使用方式
name |
返回值在WSDL文件中的名字。默认是return |
targetNamespace |
对应的名域。默认是服务接口的名域 |
header |
true或者false(默认),指定该参数是否在SOAP消息头部发送 |
partName |
Specifies the value of the name attribute of the wsdl:part element for the parameter when the binding is document. |
具体请参考j2EE API是如下两个包:
相关推荐
jax-ws2.2 官方参考文档,用户指南,英文版,pdf版
JAX-WS规范是一组XML web services的JAVA API
JAX-WS不是一个孤立的框架,它依赖于众多其他的规范,本质上它由以下几部分组成 1.用来开发Web Services的Java API 2.用来处理Marshal/Unmarshal的XML Binding机制,JAX-WS2.0用JAXB2来处理Java Object与XML之间的映射,...
JavaWeb服务SOAP(jax-ws)和REST(jax-rs)规范,CXF整合Spring和未整合Spring的简单例子。结合说明看,简单易懂:my.oschina.net/lock0818/blog/314120
JCP组织发布的最新的JAX-WS2.2的规范说明,此规范说明书无论对于JAX-WS的开发者或是使用者都很有帮助的。不过此规范说明时英文的。
The Java API for XML Web Services(JAX-WS) 2.0. Specification: JSR-000224 - Java™API for XML Web Services v. 2.0 (“Specification”). Status: Pre-FCS, Proposed Final Draft
一个关于CXF实现jax-ws规范的webservice #CXF框架 Apache CXF=Celtix+Xfire.是一个开源的一个webservice,可以与spring无缝集成。支持soap1.1、1.2、RESTtful或者CORBA。 ##使用CXF实现jax-ws规范的webservice ...
REST 的日益兴起为 web services 开发提供了新的方式。这次包含的 JAX-RS 与先前的 JAX-WS 地位相当,表示 Java EE 也认可 REST 是一种趋势。与 JAX-WS 的出发点一致, JAX-RS 也远离了 SOAP 协议的底层细节。
XML-Remote Procedure Call)目前已经被JAX-WS规范取代,JAX-WS 是JAX-RPC 的演进 版本,但 JAX-WS 并不完全向后兼容 JAX-RPC,二者最大的区别就是 RPC/encoded 样式的 WSDL,JAX-WS 已经不提供这种支持。JAX-RPC 的...
带有附件规范的Jakarta SOAP项目的源代码已获得和; 同样,许可证在每个源文件中。 发布到Maven存储库的二进制jar文件的许可与相应源代码的许可相同; 请参阅每个jar文件中的文件META-INF/LICENSE.txt 。 您可以...
覆盖以下内容:基于JAX-WS规范和CXF自身的前端模式实现,CXF支持的数据绑定(DataBindings),CXF支持的WSDL绑定,CXF支持的传输协议绑定。CXF的调式、配置、日志、发布和工具。CXF实现RESTful服务。CXF对WS-* 的...
该文档可在Jakarta EE规范网页: ://jakarta.ee/specifications/restful-ws/下找到,也可在Eclipse EE4J GitHub Jakarta RESTful Web Services页面下找到: ://eclipse-ee4j.github.io/jaxrs 。
JAX-WS 规范 (en) JAX-WS 注释教程 (at) JAX-RS 规范(英文) JAX-WS API Apache CXF 教程 (JAX-WS) JAXB-WS - 使用@WebMethod 强制使用字段 模拟不是存根 SOA (参见原则) SAAJ MTOM ...
•JAX-WS 2.2 •JAX-RS 1.1 •JAXB 2.2 •JAXR 1.0 •Java EE Management 1.1 •Java EE Deployment 1.2 •JACC 1.4 •JASPIC 1.0 •JSP Debugging 1.0 •JSTL 1.2 •Web Services Metadata 2.1 •JSF 2.0 •Common ...
JAX-WS规范是一组XML web services的JAVA API
job1_matd02 创建 Web 服务和使用此服务的应用程序。 我们将使用 Java EE 技术; JAX-WS; JAXB; 和肥皂。
这个教程将了如何使用CXF开发WebService,包括JAX-WS、JAX-RS规范、数字证书、MTOM附件传输、异步调用、异常处理、使用Axis+Spring解决RPC/Encode的问题向旧规范JAX-RPC的兼容,第三版版教程在最一开始分别介绍了...
本书涵盖了所有主要的Java EE 7的API,包括JSF 2.2,EJB 3.2,1.1 CDI,对于WebSocket的,JAX-WS,JAX-RS多的Java API。 书中还介绍了JSON-P,为JSON(JavaScript对象符号)处理的Java API。这种先进的主题涉及如何...
有时您需要请求任何基于 JAX-WS 规范的 API 提供的数据并立即将其放入数据库。 数据用从 WSDL 文件生成的存根表示。 问题是你事先不知道 WebService API 的结构,你不能准备你的数据库来保存所有的数据。 在这种...