本主题解释如何配置和应用 EJB 客户端工具,该工具调用部署在 J2EE 应用程序服务器上的 EJB 远程对象的方法。本章包含:

了解 EJB 客户端工具

EJB 客户端通过 JNDI 查询或从对象数据库获取 EJB 远程对象。然后可以使用它来调用该对象上的方法。然后可以将这些方法的返回值传递给链式工具,如 Diff 或对象数据库。

为了在 EJB 远程对象的特定方法上调用 EJB 客户端工具,您必须告诉工具远程对象的源。EJB 远程对象可以通过 JNDI 查询从远程目录获得,也可以从  SOAtest 的本地对象数据库获得。在后一种情况下,EJB 远程对象应该作为以前 EJB 客户端工具调用的返回值放入对象数据库中。

EJB 客户端工具必须至少通过 JNDI 查询一次获得 EJB 远程对象。随后,您可以通过对象数据库获得相同的 EJB 远程对象。这避免了对同一个 EJB 远程对象的多个 JNDI 查询。

对于 EJB 2.0 中的有状态 EJB,使用链式对象数据库工具来存储返回的 EJB 对象。这使得它们的方法可以在随后的测试中调用。

配置 EJB 客户端工具

EJB 客户端工具的选项将根据 EJB 远程对象从何处(从 JNDI Query 或从 Object Data bank)获得而有所不同。

从 JBDI 查询获得 EJB 远程对象

为了从 JNDI 查询中获取 EJB 远程对象,请选择来自 EJB Remote Object Source 区域的 JNDI Query 单选按钮,并配置以下参数:

从对象数据库获取 EJB 远程对象

在从对象数据库获取 EJB 远程对象(以便在后续测试中使用)之前,必须首先在对象数据库中存储一个返回值。为此:

  1. 右键单击 EJB 客户端工具节点,然后选择 Add Output> Object Output> New Output> Object Data Bank
  2. 在对象数据库控件面板汇总,指定唯一的 Column Name ,稍后可以通过该列名查询该值。

一旦将值存储在对象数据库中,请从 EJB 客户端工具的 EJB Remote Object Source 子面板中选择 Object Data Bank 单选按钮。

查看测试执行期间使用的数据库变量

可以配置控制台视图(Window> Show View> Console),显示测试执行期间使用的数据库变量。有关更多详情,请参见 控制台视图

使用回归控制:

若要为一组 EJB 客户端工具测试创建或更新回归控件,请右键单击包含测试的测试套件,并从快捷菜单中选择 UpdateCreate Regression Controls 。如果正在使用数据源,则选择 Multiple Controls

调用部署在 IBM WebSphere Application Server (WAS) 上的 EJBs

若要使用 SOAtest附带的 Sun JRE 调用部署在 WebSphere Application Server (WAS) 上的 EJB,需要进行一些特殊配置。本文档中解释的所有其他配置设置都适用。若要配置 SOAtest,请完成以下步骤:

  1. 使用 Sun 初始上下文工厂(com.sun.jndi.cosnaming.CNCtxFactory):  此设置应该在 EJB 客户端的 JNDI 属性中配置。该设置要求 Sun's j2ee.jar 位于 SOAtest 类路径上。这个 .jar 文件可以从 Oracle Java 站点获得。有关将类文件添加到 SOAtest的更多信息,请查阅 系统属性设置

  2. 在 EJB 客户端的 JNDI 属性中,使用提供程序 URL,该 URL 格式为 corbaloc:iiop:WAS:2809 ,其中 WAS 是您的 WebSphere 应用程序服务器的位置。(例如, corbaloc:iiop:bison:2809
  3. 在 EJB 客户端的 JNDI 属性中,使用以下格式指定对象名称: cell/nodes/[node]/servers/[server]/YOUR_EJB_OBJECT_NAME (例如, cell/nodes/bisonNode01/servers/server1/ejb/BasicCalculator

使用 XML 编码器/解码器 和 EJB 客户端

XML 编码器和 XML 解码器是互补的工具,允许您将 Java Bean 对象图传输到 XML 表示(XML 编码器)或将兼容的 XML 输出传输到 Java Bean(XML 解码器)。

在创建 EJB 测试时,XML 编码器和 XML 解码器工具特别有用。XML 编码器可用于将 EJB 工具的 Java Bean 对象输出转换为 XML 格式。这个输出可以由其他 SOAtest 工具(如 XML 转换器)进一步操作,以提取或修改您感兴趣的 XML 文档的某些部分。然后,在 XML 解码器的帮助下,可以将修改后的 XML 输出转换回 Java Bean 格式。可以将结果链接到对象数据库,从而使后续测试能够使用修改后的 Java Bean 对象作为工具输入。

请记住,EJB 工具允许您方便地将链接工具添加到其 XML 或对象输出中。EJB 工具的 XML 输出是由 XML 编码器转换的对象输出。