JAX-WS 应用程序部署模型
已增强产品的管理功能,以便支持与任何其他 WebSphere® Application Server 应用程序一样安装和部署用于 XML Web Service (JAX-WS) 应用程序的 Java™ 应用程序编程接口 (API)。
JAX-WS 应用程序被打包成 Web 归档 (WAR) 文件或企业归档 (EAR) 文件中的 WAR 模块。JAX-WS 应用程序部署模型类似于 Java API for XML Remote Protocol Call (JAX-RPC) Web Service 应用程序模型。主要差别是 JAX-RPC Web Service 应用程序需要您添加其他绑定和部署描述符以部署应用程序。JAX-WS 应用程序不需要其他绑定和部署描述符就可进行部署。可以如部署任何其他 WebSphere Application Server 应用程序那样部署 JAX-WS 应用程序。
JAX-WS Web Service 是对 JAX-RPC Web Service 的重写。下表对 JAX-WS Web Service 与 JAX-RPC Web Service 的 Web Service 堆栈进行了比较。
JAX-RPC Web Service | JAX-WS Web Service |
---|---|
绑定是专有的 | 绑定是基于开放源代码的 Java API for XML Bindings (JAXB) |
解析是专有的 | 解析是基于开放式源代码的“Java 规范请求 (JSR) 173” |
不支持 Java 注释 | Java 注释支持,例如 @WebService、@WebMethod、@WebParam、@WebResult 和 @SOAPBinding |
在部署期间,将在基于 JAX-RPC 的服务和客户机中创建一些部署描述符文件。
如果服务是基于 EJB 的 Web Service 和基于 EJB 的模块,那么会在服务端创建下列文件:
如果服务是基于 JavaBeans 的服务或基于 Web 模块的服务,那么需要下列文件和部署描述符:
web.xml 存在于基于 EJB 和 JavaBeans 的服务中。但是,在部署 Web Service 应用程序或模块期间,没有其他内容添加至该文件。
|
对于 JAX-WS Web Service,可以选择是否使用 webservices.xml 部署描述符,这是因为您可以使用注释来指定该部署描述符文件所包含的所有信息。可以使用部署描述符文件来扩充或覆盖现有 JAX-WS 注释。您在 webservices.xml 部署描述符中定义的任何信息将覆盖由注释指定的任何相应信息。 |
从 WebSphere Application Server V7.0 开始,将扫描 Java EE 5 应用程序模块(Web 应用程序模块 V2.5 或更高版本,或者 EJB 模块 V3.0 或更高版本)以获取用于标识 JAX-WS 服务和客户机的注释。然而,缺省情况下,考虑到性能方面的因素,不会扫描 Java EE 5 之前的应用程序模块(Web 应用程序模块 V2.4 或更早版本,或者 EJB 模块 V2.1 或更早版本)来获取 JAX-WS 注释。在 V6.1 Feature Pack for Web Services 中,缺省行为是在安装应用程序期间扫描 Java EE 5 之前的 Web 应用程序模块以识别 JAX-WS 服务,以及扫描 Java EE 5 之前的 Web 应用程序模块和 EJB 模块以查找服务客户机。因为 WebSphere Application Server V7.0 和更高版本的缺省行为是不在应用程序安装或服务器启动期间扫描 Java EE 5 之前的模块以获取注释,所以为了保持与先前发行版中功能部件包的向后兼容性,您必须在 Web 应用程序归档 (WAR) 文件或 EJB 模块的 META-INF/MANIFEST.MF 中配置 UseWSFEP61ScanPolicy 属性,或在服务器上定义 Java 虚拟机定制属性 com.ibm.websphere.webservices.UseWSFEP61ScanPolicy 以请求在应用程序安装和服务器启动期间进行扫描。要了解有关注释扫描的更多信息,请参阅 JAX-WS 注释信息。