本主题包括测试 CORBA(公共对象请求代理体系结构)服务器的基本步骤和操作。有几种方法可以确保 CORBA 服务器功能正常;下面是一些示例和简单的练习,有助于更好地理解 SOAtest 如何简化服务器测试过程。通过不同的场景展示如何将 SOAtest 集成到非 SOAP 服务器的测试中。
章节目录:
注意:如果已经创建了 Java 客户端,则继续实现场景 2。
若要使用服务器提供的接口/IDL,则需要在客户端生成 java 桩函数。在本节中,我们将介绍从 IDL 到 Java 的简单转换。
<INSTALL>/plugins/com.parasoft.ptest.libs.web_<VERSION>/root/build/examples/CORBA
目录中包含了用于下面练习的 Calculator.idl 示例文件。要使用 IDLJ,请确保安装了 J2SDK,并已设置 PATH 变量,以便您可以从任何目录访问 J2SDK 的可执行文件。
若要使用 IDLJ 将 IDL 转换为 Java,请完成以下步骤:
打开命令提示符并转到包含 Calculator.idl 文件的 <INSTALL>/plugins/com.parasoft.ptest.libs.web_<VERSION>/root/build/examples/CORBA
目录。
运行以下命令自动生成拥有正确路径的软件包(以 Windows 为例):
idlj –pkgTranslate Persistent examples.CORBA –fall Calculator.idl |
运行以下命令编译 java 文件:
javac ../examples/CORBA/*.java. |
现在您拥有了与服务器通信所需的必要类文件。请继续实现场景 2,连接 SOAtest 与现有 java 客户端。
有关 IDLJ 的更多信息,请参阅 Oracle Java 文档。
在本节中,我们将演示如何使用 SOAtest 的扩展工具从 CORBA 服务器调用 Java 服务。
选择扩展工具节点,在右侧 GUI 面板中语言菜单选择合适的语言以访问 CORBA Java 客户端。
例如,对于 Jython,您可以在文本框中输入如下内容:
# In our example, examples.CORBA.PersistentClient is our CORBA Java Client from examples.CORBA import * from java.lang import * def foo(input, context): # Here we are Initializing the client by providing location of the server, # port number, and the service name client = PersistentClient("goldfish.parasoft.com", 2222, "GoldfishCorbaServer") # Here we are making the actual Method Invocation onto the Service "add(x,y)" return client.add(3, 5) |
foo()
。在本节中,我们将演示如何使用 SOAtest 外部工具从 CORBA 服务器调用非 Java 服务。