使用 JAX-WS 实现 Web Service 应用程序
从现有的 JavaBeans 或企业 Bean 着手时,您可以根据 Java™ API for XML-Based Web Service (JAX-WS) 编程模型使用自底向上方法来开发 Web Service。
开始之前
确定要显示为 JAX-WS Web Service 的现有 JavaBeans 或企业 Bean。
关于此任务
要根据 JAX-WS 编程模型开发 Web Service,可以从现有的 JavaBeans 或企业 Bean 使用自底向上式开发方法,也可以从现有的 Web Service 描述语言 (WSDL) 文件使用自顶向下式开发方法。此任务描述使用自底向上式开发方法时的步骤。
从现有 JavaBeans 或企业 Bean 着手开发 JAX-WS Web Service 时,可以通过使用注释将 Bean 显示为 JAX-WS Web Service。对 Bean 添加 @WebService 或 @WebServiceProvider 注释会将 Bean 定义为 JAX-WS Web Service。JAX-WS Web Service 可以选择使用服务端点接口。除了对 Bean 和可选的服务端点接口进行注释以外,还必须组装 Web Service 所需的所有工件,并将生成的应用程序部署到应用程序服务器环境以完成将 Bean 作为 Web Service 启用的过程。虽然认为使用 WSDL 文件是最佳做法,但是不要求您将 WSDL 文件与 JAX-WS Web Service 打包在一起。
- 使用 JavaBeans 时的注意事项
- 仅通过 HTTP 传输方法支持显示为 JAX-WS Web Service 的 JavaBeans。
- JavaBeans 可以使用上下文和依赖关系注入 (CDI)。请注意,构造方法注入不受支持。
- 使用企业 Bean 时的注意事项
- 企业 Bean 必须是无状态会话 Bean 或单独会话 Bean。
- 显示为 JAX-WS Web Service 的企业 Bean 必须打包在 EJB 3.0 或更高版本的模块中。
- 包含企业 Bean 的 JAX-WS 应用程序必须使用 endptEnabler 命令进行部署。
- 通过 HTTP 或 Java 消息服务 (JMS) 传输支持使用企业 Bean 的 JAX-WS Web Service。
- 企业 Bean 可以使用 CDI。请注意,构造方法注入不受支持。
- 可选择在 JAX-WS 应用程序封装中包括 Web Service 描述语言 (WSDL) 文档。
从 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 注释信息。
过程
结果
您已开发 JAX-WS 应用程序。