概念
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是如下两个包:
相关推荐
`javax.xml.ws.Service`是JAX-WS规范的一部分,用于创建和实例化Web服务客户端。当这个类报错,通常是因为缺失了如wsimport工具或者相关的API依赖。而这个压缩包提供了解决这个问题的解决方案,用户只需将提供的四个...
1. **创建JAX-WS服务**:首先,你需要编写一个实现JAX-WS规范的Java类,通常是一个实现了特定接口的Servlet。然后,利用工具如JAXB(Java Architecture for XML Binding)或手工方式生成服务的WSDL文件。 2. **打包...
1. **jaxws-api.jar**:这是JAX-WS的API规范JAR,包含了用于开发JAX-WS服务和客户端的接口定义。 2. **jaxb-api.jar**:Java Architecture for XML Binding (JAXB) API,用于XML和Java对象之间的转换,是JAX-WS的...
标题提到的"JAX-WS所需Jar包"是指为了在Java环境中支持JAX-WS功能,开发者需要的一组核心库。这些库包含了运行和开发JAX-WS Web服务所必需的组件。下面将逐一解释这些库的作用: 1. **jaxb-xjc.jar**: 这是Java ...
### JAX-WS 2.2 用户指南知识点详解 #### 概览 JAX-WS (Java API for XML Web Services) 是 Java 平台上用于开发和实现 Web 服务的官方标准之一。本用户指南详细介绍了 JAX-WS 2.2 版本的功能、编程模型以及如何...
Java API for RESTful Web Services (JAX-RS) 是Java平台上的另一项重要规范,它定义了如何在Java应用中创建RESTful Web服务。REST(Representational State Transfer)是一种轻量级的架构风格,强调资源的交互,...
`jaxws-2_0-pfd-spec-api.jar`可能包含了JAX-WS 2.0规范的API类库,供开发者在应用中导入并使用。在实际开发中,还需要相应的实现库,如`metro.jar`,来处理具体的Web服务交互。 **使用场景:** 1. **企业级应用...
这意味着这个压缩包包含了JAX-WS规范的一个实现版本,它通常包括以下组件: 1. **JAX-WS API**:这是定义了JAX-WS接口和类的JAR文件,通常名为`jaxws-api.jar`,包含了服务端和客户端的API。 2. **JAX-WS RI**:如...
JAX-WS遵循WS-I(Web Services Interoperability)规范,确保与不同平台和语言实现的Web服务之间的互操作性。 通过学习和实践JAX-WS 2.1用户指南,开发者将能够熟练掌握Web服务的开发、部署和消费,提升其在分布式...
**标签:“jax-ws2.1”**表明这个压缩包与JAX-WS 2.1规范相关,该规范发布于2006年,是JAX-WS的早期版本,相对于后续的2.2及更高版本,可能会缺少一些特性或改进,但仍然广泛应用于许多现有的Java EE项目中。...
1. `jaxws-api.jar`: 这是JAX-WS规范的API接口定义,包含了处理SOAP消息和服务的类和接口,如`javax.xml.ws`包下的各种类。 2. `jaxb-api.jar`: Java Architecture for XML Binding (JAXB)是用于将Java对象与XML...
JAX-WS RI(Reference Implementation)是这个规范的官方参考实现,它提供了开发、测试和运行基于SOAP(Simple Object Access Protocol)的Web服务所需的所有组件。在本案例中,"Jax-ws RI.zip"是一个包含这些组件的...
Java API for XML Web Services(JAX-WS)是Java平台上的一个标准,用于构建和部署Web服务。它简化了Web服务的开发,使得开发者能够使用Java编程语言来创建、调用和部署SOAP(Simple Object Access Protocol)服务。...
1. **JAX-WS概述**:JAX-WS是Java平台上的Web服务规范,它使得开发者可以使用Java语言方便地创建SOAP Web服务。与早期的JAX-RPC相比,JAX-WS更加强调面向对象和类型安全,并且提供了更直观的编程模型。 2. **Apache...
**JAX-WS** 是一个用于构建Web服务的Java API,它定义了如何将Java接口映射到SOAP消息,以及如何处理这些消息的规范。CXF框架对JAX-WS提供了全面的支持,允许开发者轻松地创建SOAP服务和客户端。 **JAXWS-API.jar**...
JAX-WS是Java平台上的Web服务规范,它使得开发者能够利用Java语言的强类型系统来构建Web服务,同时提供了客户端和服务器端的API。 **JAX-WS核心组件:** 1. **SOAP(Simple Object Access Protocol):** 是Web服务...
JAX-WS 2.0是其第二个主要版本,与Java 5兼容,并且基于一系列规范,如JAXB(Java Architecture for XML Binding)、StAX(Streaming API for XML)和XML Schema。 1、JAX-WS概述 JAX-WS 2.0引入了一种新的编程模型...
【jax-ws创建Web服务】 Java API for XML Web Services(jax-ws)是Java平台标准版(Java SE)和企业版(Java EE)的一部分,它为开发者提供了一种创建和消费Web服务的标准方式。jax-ws允许开发人员通过简单的编程...
Java API for XML Web Services (JAX-WS) 是Java平台上用于构建Web服务和客户端的API。这个"jax-ws WebService客户端与服务端工程.rar"压缩包文件包含了一个完整的示例,展示了如何使用JAX-WS创建和消费Web服务。让...