使用 WebSphere 运行时环境从企业 bean(EJB)创建 Web Service

先决条件:

正在创建的 Web Service 充当企业 bean 的客户机。在启动 Web Service 向导之前,必须部署企业 bean。

Web Service 向导帮助您创建新的 Web Service、配置它以进行部署并将 Web Service 部署到服务器。一旦部署了 Web Service,向导将帮助您生成客户机代理和样本应用程序来测试该 Web Service。当完成测试后,可以使用“导出”向导将 Web Service 发布到“UDDI 企业注册中心”。

要了解有关 EJB 应用程序开发的更多信息,请参阅 EJB 工具。

注意:Rational Developer 产品支持从无状态的会话企业 bean 创建企业 bean Web Service。

从企业 bean 创建 Web Service

  1. 切换至 J2EE 透视图(窗口 > 打开透视图 > J2EE)。
  2. 在“项目资源管理器”视图中,展开“EJB 模块”并选择想要用来生成 Web Service 的会话 bean。
  3. 单击文件 > 新建 > 其它。选择 Web Service 以显示各种 Web Service 向导。选择 Web Service 向导。单击下一步
  4. “Web Service”页面:从 Web Service 类型下拉列表中选择 EJB Web Service。可以有选择地执行下列操作:
    • 启动 Web 项目中的 Web Service - 如果不选择此选项,则将必须手工启动 Web Service。必须选择此选项才能启用此页面上的其它选项。
    • 启动“Web Service 资源管理器”以将 Web Service 发布到 UDDI 注册中心。
    • 为 Web Service 生成 Java™ bean 客户机代理。生成的 Java bean 客户机代理提供了 Web Service 的远程过程调用接口。
    • 测试 Web Service - 这允许您在生成代理之前在“Web Service 资源管理器”中测试 Web Service。
    • 通过“TCP/IP 监视器”来发送 Web Service 通信量,“TCP/IP 监视器”允许您监测由 Web Service 生成的 SOAP 流量,还可以测试此流量以保持 WS-I 一致性。
  5. “对象选择”页面:如果在启动向导之前选择了会话 bean,则应该预先填写此页面上的字段。否则,单击浏览 EJB Bean。在打开的窗口中,选择包含将用来生成 Web Service 的企业 bean 的 EAR 项目 - 这将使用此 EAR 中包含的无状态企业 bean 来填充下表。
  6. “服务部署配置”页面:指定服务器和客户机部署设置。
    1. 单击编辑并选择 IBM® WebSphere® 运行时环境,然后选择想要运行 Web Service 和 Web Service 客户机的服务器。 如果想要使用 IBM SOAP 运行时环境或 Apache Axis 1.0 运行时环境,请参阅相应的任务。
    2. 为 Web Service 选择服务项目和 EAR。 如果它们尚不存在,则向导将为您创建它们。
    3. 选择想要创建 Web Service 客户机的项目的类型和名称。如果输入现有项目的名称,则项目类型字段必须与现有项目的项目类型字段相匹配。如果输入一个尚不存在的项目的名称,则向导将为您创建该项目。注意,Axis 和 SOAP 运行时客户机支持的唯一项目类型是 Web 项目。如果想要在 Java、EJB 或应用程序客户机项目中创建客户机,则必须为客户机选择 WebSphere 运行时环境。
    4. 选择现有 EAR 或输入一个唯一名称以使 Web Service 客户机与 Web Service EAR 以外的另一 EAR 相关联。注意:对 Web Service 和 Web Service 客户机选择不同的 EAR 可以减少遇到运行时错误的机会,但是将使用较多系统资源。
  7. “Web Service EJB 配置”页面:选择“路由器”项目(该项目必须是预先存在的 EJB 项目)。如果预先存在一个服务端点接口,则可以选择使用它。或者,Web Service 向导将为您生成一个服务端点接口。选择传输类型:基于 HTTP 的 SOAP 或者基于 JMS 的 SOAP。如果选择 JMS,则应完成必需的 JMS URI 属性。选择任何字段并按 F1 以获取有关每个字段的更多信息。
  8. 在“Web Service Java Bean 标识”页面中:此页面列示 Web Service URI 和生成的 WSDL 文件的位置。此页面上具有下列选项:
    • 方法面板显示对 bean 中方法的摘要。可以选择在生成的 Web Service 中包括或除去方法。
    • 选择 Web Service 的样式和编码。只有“文档/文字”才符合 WS-I。
    • 选择启用安全性。启用安全性将使 Web Service 不符合 WS-I。
    • 定义定制的包至名称空间映射。
  9. “Web Service 包至名称空间映射”页面:如果在上一面板选择了定义包至名称空间的定制映射,则可以在此面板上通过单击添加来输入定制映射对。或者,可以单击导入以从 .properties 文件中导入定制映射对。属性文件的内容必须采用 package=namespace 格式。
  10. “Web Service 测试”页面:如果选择了测试 Web Service,则为生成的 Web Service 选择测试工具并单击“启动”。这将在“Web Service 资源管理器”中打开 Web Service。选择想要测试的操作,输入必需的信息并单击执行。结果将显示在“状态”窗格中。 测试了 Web Service 之后,关闭浏览器窗口并单击下一步
  11. 如果已经选择了生成代理,则将显示“Web Service 代理”页面。客户机代理为 Web Service 提供了远程过程调用接口。Java 客户机代理的文件夹缺省设置为 / EJBWebProjectClient。(可选)可以选择为生成的代理启用安全性,或者定义定制的包至名称空间映射。
  12. “Web Service 客户机包至名称空间映射”页面:如果在前一面板选择了定义包至名称空间的定制映射,则可以在此面板上通过单击添加来输入定制映射对。或者,可以单击导入以从 .properties 文件中导入定制映射对。属性文件的内容必须采用 package=namespace 格式。
  13. 如果已经选择了测试生成的代理,则将显示“Web Service 客户机测试”页面。使用此页面来选择下列选项:
    • 选择测试工具。可以在“通用测试客户机”或者“Web Service 资源管理器”中测试生成的代理,也可以生成样本 Web Service JSP。
    • 如果选择通过 JSP 来测试代理,则可以选择 JSP 所在的文件夹并且可以选择将包括在 JSP 中的方法。
  14. 如果已经选择了发布 Web Service,则使用“Web Service 发布”页面来选择将发布至哪个 UDDI 注册中心。单击完成
  15. 创建 Web Service 之后,根据您选择的选项不同,可能会发生下列情况:
    • 如果选择了使用 Web Service JSP 来测试生成的代理,则会在 Web 浏览器中的以下 URL 处启动代理:http://localhost: port/ EJBWebProjectClient/sampleBeanName/WebServiceName/TestClient.jsp。通过选择一种方法,为该方法输入一个值,然后单击调用,这样就可以使用此样本应用程序来测试 Web Service。该方法的结果将显示在结果窗格中。
    • 如果选择了使用“通用测试客户机”来测试生成的代理,则将在浏览器窗口中的以下 URL 处启动该代理:http://localhost:9080/UTC/preload?object= BeanPackage. BeanServiceProxy。在“引用”窗格中的“对象引用”下面,展开代理存根以显示 Web Service 的方法。单击想要测试的方法,在“参数”窗格中输入值并单击调用。将在下面生成结果。
    • 如果选择了使用“Web Service 资源管理器”来测试 Web Service,则“Web Service 资源管理器”将打开。选择想要测试的操作,输入必需的信息并单击执行。结果将显示在“状态”窗格中。
    • 如果选择了发布 Web Service,则会启动“Web Service 资源管理器”,它将显示把 Web Service 发布到“IBM UDDI 测试注册中心”所必需的页面。遵循发布 Web Service 中的指示信息来完成此任务。

要了解有关 EJB 的更多信息,请参阅 EJB 应用程序开发文档。有关从 EJB 创建 Web Service 的样本,请参阅“教程图库”和“样本图库”。

相关概念
Web Service 开发的工具
Web Service 开发
Web Service 运行时环境

相关任务
开发 Web Service
使用 Web Service 资源管理器

相关参考
WSDL 文档

使用条款 | 反馈
(C) Copyright IBM Corporation 1999, 2005. All Rights Reserved.