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

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

先决条件:

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

注意:此产品支持从无状态的会话企业 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。从工作空间中提供的无状态会话企业 bean 中选择服务实现。(可选)可以选择执行下列操作:
    1. 选择您想使用滑块来完成的 Web Service 开发阶段:
      • 开发:这将生成 Web Service 的 WSDL 定义和实现。此阶段包括诸如以下任务:创建一些模块,这些模块将包含适当的生成的代码、WSDL 文件、部署描述符和 Java™ 文件。
      • 装配:在目标应用程序服务器需要的情况下,此阶段确保将主管 Web Service 或客户机的项目与 EAR 相关联。将在此阶段创建路由器模块。
      • 部署:此阶段将为 Web Service 创建部署代码。
      • 安装:此阶段将在目标服务器上安装和配置 Web 模块和 EAR。如果需要对 WSDL 文件的端点进行任何更改,则将在此阶段中进行这些更改。
      • 启动:一旦在服务器上安装了 Web Service,此阶段就会启动服务器。
      • 测试:此阶段将提供各种选项来测试服务,例如,使用“Web Service 资源管理器”或样本 JSP 来测试服务。
    2. 选择服务器:将显示缺省服务器。如果您想将服务部署到另一服务器上,则单击链接以指定另一服务器。
    3. 选择运行时环境:将显示缺省运行时环境。如果您想将服务部署到另一运行时环境,则单击链接以指定另一运行时。
    4. 选择服务项目:将显示一个项目,它包含在工作空间中所选择的项目。要选择另一个项目和 EAR,单击项目链接。 确保选择作为“客户机 Web 项目”的项目与“服务 Web 项目”不同,否则,服务将被客户机生成的工件覆盖。
    5. 如果想要创建客户机,则选择要生成的代理类型,然后对该客户机重复执行上述步骤。
    6. 发布 Web Service:这将启动“Web Service 资源管理器”以将 Web Service 发布至 UDDI 注册中心。 注意,只能使用“Web Service 资源管理器”来测试使用 HTTP 传输的 Web Service。
    7. 监视 Web Service:这将通过“TCP/IP 监视器”来发送 Web Service 流量,“TCP/IP 监视器”可以监测由 Web Service 生成的 SOAP 流量,还可以测试此流量以保持 WS-I 一致性。还可以手工设置 TCP/IP 监视器,如使用 TCP/IP 监视器来测试 Web Service 中所述。 注意,您只能监视使用 HTTP 传输的 Web Service。
  5. “Web Service EJB 配置”页面:
    1. 如果预先存在一个服务端点接口,则可以选择使用此接口。或者,Web Service 向导将为您生成一个服务端点接口。
    2. 选择绑定类型和路由器项目。输入所选择的每种绑定类型的路由器项目名称。
    3. 设置 SOAP 操作。此选项用来在生成的 WSDL 中设置 soapAction 字段。根据部署信息,缺省值会设置 soapAction 字段。None 将 soapAction 字段设置为双引号("")。操作将 soapAction 字段设置为操作名称。
    4. 还可以选择仅映射使用 WSDL 1.1 标准的 MIME 类型。如果 MIME 类型不能映射至 WSDL 1.1 标准(例如,如果连接是数组或 Java bean 属性),则命令失败。
  6. “EJB Web Service 绑定配置”页面:如果在前一页面上选择了 EJB 或 JMS 绑定,则输入绑定的信息。
    • JMS 目标类型:选择队列或主题作为目标类型。
    • JMS 目标:目标队列或主题的 JNDI 名称。
    • JMS 连接工厂:连接工厂的 JNDI 名称。
    • JMS 目标服务:将请求分派给的端口组件的名称。
    • JMS 侦听器输入端口:要与消息驱动的 bean(MDB)相关联的侦听器输入端口的名称。
    • JMS 初始上下文工厂:要使用的初始上下文工厂的名称。该名称将被映射至 java.naming.factory.initial 属性。
    • JMS JNDI 提供程序 URL:它将被映射至 java.naming.provider.url 属性。
    • JMS 交付方式:表明请求消息是否应该是持久的。
    • JMS 生存时间:请求消息的生存期(以毫秒计)。如果值为 0,则表示无限生存期。
    • JMS 优先级:与请求消息相关联的 JMS 优先级。
    • JMS 用户标识:用于获取对连接工厂的访问权的用户标识。
    • JMS 密码:用于获取对连接工厂的访问权的密码。
  7. “Web Service Java Bean 标识”页面:此页面列示 Web Service URI 和生成的 WSDL 文件的位置。此页面上具有下列选项:
    • 方法面板显示对 bean 中方法的总结。可以选择在生成的 Web Service 中包括或除去方法。
    • 设置 void 返回 - 此字段适用于返回类型为 void 的 Web Service 方法,它描述是否期望从该 Web Service 获得响应。Oneway:返回类型为 void 的方法是单向的。此自变量是 JMS 传输的缺省值。Twoway:返回类型为 void 的方法是双向的。此自变量是 HTTP 传输的缺省值。
    • 选择 Web Service 的样式和编码。只有“文档/文字”才符合 WS-I。
    • 选择启用安全性。启用安全性将使 Web Service 不符合 WS-I。
    • 定义定制的包至名称空间映射。
    • 指定额外类和停止类。额外类指定 WSDL 文件中描述的其他类。您可使用 -stopClasses 自变量定义导致搜索停止的其他类。
  8. “Web Service 包至名称空间映射”页面:Web Service 向导从指定企业 bean 生成 WSDL 文件。缺省情况下,它将根据该企业 bean 的包名创建名称空间。要覆盖此缺省行为,可以指定要在 WSDL 文件中生成的您自己的名称空间。如果在上一面板选择了定义包至名称空间的定制映射,则可以在此面板上通过单击添加来输入定制映射对。或者,可以单击导入以从 .properties 文件中导入定制映射对。属性文件的内容必须采用 package=namespace 格式。
  9. “Web Service 测试”页面:如果选择了测试 Web Service,则为生成的 Web Service 选择测试工具并单击“启动”。这将在“Web Service 资源管理器”中打开 Web Service。选择想要测试的操作,输入必需的信息并单击执行。结果将显示在“状态”窗格中。 测试了 Web Service 之后,关闭浏览器窗口并单击下一步
  10. 如果已经选择了生成代理,则将显示“Web Service 代理”页面。客户机代理向 Web Service 提供远程过程调用接口。Java 客户机代理的缺省文件夹为 / EJBWebProjectClient。可以选择为生成的代理启用安全性,或者定义定制的包至名称空间映射。
  11. “Web Service 客户机包至名称空间映射”页面:如果在前一面板选择了定义包至名称空间的定制映射,则可以在此面板上通过单击添加来输入定制映射对。或者,可以单击导入以从 .properties 文件中导入定制映射对。属性文件的内容必须采用 package=namespace 格式。
  12. 如果已经选择了测试生成的代理,则将显示“Web Service 客户机测试”页面。使用此页面来选择下列选项:
    • 选择测试工具。可以在“通用测试客户机”或者“Web Service 资源管理器”中测试生成的代理,也可以生成样本 Web Service JSP。
    • 如果选择通过 JSP 来测试代理,则可以选择 JSP 所在的文件夹,并且可以选择将包括在 JSP 中的方法。
  13. 如果已经选择了发布 Web Service,则使用“Web Service 发布”页面来选择将发布至哪个 UDDI 注册中心。单击完成
  14. 创建 Web Service 之后,根据您选择的选项不同,可能会发生下列情况:
    • 如果选择了使用 Web Service 样本 JSP 来测试生成的代理,则会在 Web 浏览器中的以下 URL 处启动代理: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 的样本,请参阅“教程库”和“样本库”。


反馈