Web Service for Java EE 规范
Web Service for Java™ Platform, Enterprise Edition (Java EE) 规范定义编程模型和运行时体系结构以实现基于 Java 语言的 Web Service。Web Service for Java EE 规范的另一个名称是 Java 规范要求 (JSR) 109。该规范包括用于开发和实现 Web Service 的开放式标准。
Web Service for Java EE 规范基于 Java EE 技术,并且对于可伸缩的安全环境内在应用程序服务器之间可交互操作和可移植的方式下的 Web Service 和客户机,支持 Java API for XML Web Services (JAX-WS) 编程模型和 Java API for XML-based RPC for Web Services (JAX-RPC) 编程模型。此规范基于 Web Service 的业界标准(其中包括 Web 服务描述语言 (WSDL) 和 SOAP),它对 Web Service 的开发和部署进行描述。
可以通过多种方式将 Java EE 技术与 Web Service 集成。可以将 Java EE 组件显示为 Web Service(例如,JavaBeans 和企业 Bean)。当将 Java EE 组件显示为 Web Service 时,以 Java 代码编写的客户机或不是以 Java 代码编写的现有 Web Service 客户机可以对这些服务进行访问。Java EE 组件还可以充当 Web Service 客户机。
Web Service for Java EE 规范是基于 Web 的编程首选平台,这是因为它提供允许不同类型的语言、操作系统和软件通过因特网无缝通信的开放式标准。
对于要充当 Web Service 客户机的 Java 应用程序,WSDL 文件与 Java 应用程序之间必须存在映射。对于 JAX-WS 应用程序,该映射是使用注释来定义的。可选择使用 webservices.xml 部署描述符来指定 WSDL 文件的位置和覆盖在 @WebServices 注释中定义的值。对于 JAX-RPC 应用程序,必须定义 JAX-RPC 映射文件。要更多地了解在 WSDL 文件与 Web Service 应用程序之间定义的映射,请参阅 Web Service 规范与 API 文档中的 JAX-WS 规范或 JAX-RPC 规范,这取决于所使用的编程模型。
通过在 WSDL 文件中指定组件接口和绑定信息以及设计应用程序服务器基础结构以接受服务请求,您可以使用 Java 组件来实现 Web Service。
所包括的此整个过程都基于 Web Service for Java EE 规范。
该规范定义专门用于 Web Service 的 webservices.xml 部署描述符。webservices.xml 部署描述符文件定义可以在支持 Web Service for Java EE 的容器中部署的 Web Service 集。
对于 JAX-WS Web Service,可以选择是否使用 webservices.xml 部署描述符,这是因为您可以使用注释来指定该部署描述符文件所包含的所有信息。可以使用部署描述符文件来扩充或覆盖现有 JAX-WS 注释。您在 webservices.xml 部署描述符中定义的任何信息将覆盖由注释指定的任何相应信息。
@WebService(wsdlLocation=”http://myhost.com/location/of/the/wsdl/ExampleService.wsdl”)
并且 webservices.xml 为 WSDL 文档指定另一文件名,如下所示:<webservices>
<webservice-description>
<webservice-description-name>ExampleService</webservice-description-name>
<wsdl-file>META-INF/wsdl/ExampleService.wsdl</wsdl-file>
…
</webservice-description>
</webservices>
那么在部署描述符 META-INF/wsdl/ExampleService.wsdl 中指定的值会覆盖注释值。请参阅 Web Service for Java EE 规范的第 5 部分,以获取有关 Web Service 部署描述符文件中所指定值与 @WebService 和 @WebServiceProvider 注释的属性之间的关联的详细信息。
对于 JAX-RPC Web Service,必须在 webservices.xml 部署描述符文件中定义部署特征。
- 端口名
- 端口服务实现
- 端口服务端点接口
- 端口 WSDL 定义
- 端口 QName
- 针对 JAX-WS Web Service 的 MTOM/XOP 支持
- 针对 JAX-WS Web Service 的协议绑定
- JAX-RPC 映射
- 处理程序(可选)
- Servlet 映射(可选)
有关受支持的标准和规范的完整列表,请参阅 Web Service 规范和 API 文档。