使用 JAX-WS 实现 Web Service 应用程序

从现有的 JavaBeans 或企业 Bean 着手时,您可以根据 Java™ API for XML-Based Web Service (JAX-WS) 编程模型使用自底向上方法来开发 Web Service。

开始之前

确定要显示为 JAX-WS Web Service 的现有 JavaBeans 或企业 Bean。

最佳实践: IBM® WebSphere® Application Server 支持 Java API for XML-Based Web Services (JAX-WS) 编程模型以及 Java API for XML-based RPC (JAX-RPC) 编程模型。JAX-WS 是下一代 Web Service 编程模型,用于扩展 JAX-RPC 编程模型所提供的基础。使用策略 JAX-WS 编程模型,借助基于标准的注释模型的支持,简化了 Web Service 和客户机的开发。虽然仍支持 JAX-RPC 编程模型和应用程序,但应该利用易于实现的 JAX-WS 编程模型来开发新的 Web Service 应用程序和客户机。

关于此任务

要根据 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 注释信息。

过程

  1. 设置 Web Service 的开发环境。 如果要使用 Rational® Application Developer,那么不必设置开发环境。
  2. 使用注释开发 JAX-WS Web Service。
  3. 为 JAX-WS 应用程序生成 Java 工件。

    从 JavaBeans 或企业 Bean 组件着手时,使用 JAX-WS 工具生成 JAX-WS Web Service 应用程序所需的 JAX-WS 和 JAXB 必需工件。

    如果要开发使用 HTTP 传输方法调用的服务实现 Bean,那么在此步骤期间由 wsgen 命令行工具生成的 WSDL 文件是可选的。但是,如果要开发使用 SOAP over JMS 传输调用的服务实现 Bean,那么在此步骤期间由 wsgen 工具生成的 WSDL 文件在后续步骤中是必需的,所以该文件不是可选的。

  4. (可选)>为 JAX-WS Web Service 启用 MTOM。 可以使用 SOAP 消息传输优化机制 (MTOM) 来优化二进制附件(例如图像或文件)以及 Web Service 请求的传输。
  5. (可选)在 JAX-WS Web Service 中强制遵循 WSDL 绑定。 可以使用 RespectBindingFeature 来控制顾及与端点相关联的 wsdl:binding 的内容时是否需要 JAX-WS 实现。
  6. (可选)为 JAX-WS 应用程序开发和配置 webservices.xml 部署描述符。 可选择使用 webservices.xml 部署描述符来扩充或覆盖在 JAX-WS Web Service 的注释中指定的应用程序元数据。
  7. 完成 Web Service 应用程序的实现。
  8. (可选)在 web.xml 文件中定制 URL 模式。 当 JavaBeans 显示为 JAX-WS 端点时,可以选择在 Web 应用程序归档 (WAR) 文件中包含的 web.xml 部署描述符中定制 URL 模式。
  9. 为 Web Service 组装工件。

    使用应用程序服务器随附的组装工具来组装基于 Java 的 Web Service 模块。

    如果已经组装的 EAR 文件包含企业 Bean 模板,而这些模块又包含 Web Service,请在部署前使用 endptEnabler 命令行工具或组装工具来生成 Web Service 端点 WAR 文件。此工具还用于指定是使用 SOAP over Java 消息服务 (JMS) 还是 SOAP over HTTP 来显示 Web Service。

  10. 将 EAR 文件部署到应用程序服务器中。 您现在可以将已为 JAX-WS Web Service 配置和启用的 EAR 文件部署到应用程序服务器中。
  11. 测试 Web Service 以确保它可以与应用程序服务器配合使用。

结果

您已开发 JAX-WS 应用程序。


指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_devwbsjaxws
文件名:twbs_devwbsjaxws.html