このセクションでは、CORBA (Common Object Request Broker Architecture) サーバーをテストするための基本的な手順と操作について説明します。CORBA サーバーが正しく機能しているかを確認するには、いくつかの方法があります。以下はいくつかのサンプルと、簡単な演習であり、SOAtest を使用してサーバー テスト プロセスを単純化する方法をよりよく理解するのに役立ちます。各シナリオは、SOAP 以外のサーバーのテストにどのように SOAtest を組み込むことができるかを示しています。
このセクションの内容:
シナリオ 1: CORBA クライアントが実装されていない場合
注意: すでに Java クライアントが作成済みの場合は、シナリオ 2 に進んでください。
サーバーが提供するインターフェイス/IDL を使用するには、クライアント側に Java のスタブを生成する必要があります。このセクションでは、簡単な IDL から Java への変換を説明します。
以下の演習で使用するサンプルの Calculator.idl ファイルは、 <INSTALL>/plugins/com.parasoft.ptest.libs.web_<VERSION>/root/build/examples/CORBA ディレクトリにあります。IDLJ を使用する前に、J2SDK がインストールされており、どのディレクトリからでも J2SDK にアクセスできるよう PATH 変数が設定されていることを確認してください。
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 に進み、既存の Java クライアントで SOAtest にインターフェイスで接続します。
IDLJ の詳細については Oracle Java ドキュメントを参照してください。
シナリオ 2: 既存の Java クライアントで SOAtest にインターフェイスで接続
このセクションでは、SOAtest の Extension ツールを使用して CORBA サーバーの Java サービスを呼び出す方法を説明します。
- テスト スイートのノードを右クリックし、[テストの追加] > [標準テスト] > [新規ツール] > [Extension] をクリックして Extension ツールを作成します。
Extension ツールのノードを選択し、GUI 右側のパネルの [言語] ドロップダウン メニューから CORBA Java Client にアクセスするのに適切な言語を選択します。
たとえば 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()
- Extension ツールのノードを右クリックし、[Add Return Value Output] > [既存の出力] > [編集] をクリックして、テスト実行後に戻り値を表示するようにします。
- テストを実行します。テストが成功した場合、戻り値が GUI 右側のパネルに表示されます。
- テストが失敗した場合、編集画面に Null Pointer 例外が返されます。CORBA サーバーをチェックして、サーバーが指定されたポートで待機しており、サービスが実行中であることを確認してください。
シナリオ 3: 既存の非Java クライアントで SOAtest にインターフェイスで接続
このセクションでは、SOAtest の Extension ツールを使用して CORBA サーバーの非 Java サービスを呼び出す方法を説明します。
- テスト スイートのノードを右クリックし、[テストの追加] > [標準テスト] > [新規ツール] > [Extension] をクリックして Extension ツールを作成します。
- External ツールのノードを選択して名前を CORBA Client に変更します。
- [参照] ボタンをクリックして CORBA クライアント モジュールへのパスを選択します。
- CORBA クライアントがパラメーターを受け取る場合、[追加] ボタンをクリックして 1 つずつ引数を追加します。新しい行が生成され、モジュールに関連するフラグおよび引数を入力することができます。
- フラグおよび引数を入力するには、行をダブルクリックします。新規ダイアログが表示されるので、名前および引数を適切に変更します。
- パラメータライズされた値を使用するには、[値] ドロップダウン メニューで [パラメータライズ] を選択して [変数] ドロップダウン メニューで変数名を選択し、[OK] をクリックします。
- GUI 右側のパネルで [出力の保持]チェック ボックスをオンにして、テスト実行後に戻り値を保持します。
- Extension ツールのノードを右クリックし、[Add Return Value Output] > [既存の出力] > [編集] をクリックして、テスト実行後に戻り値を表示するようにします。
- テストを実行します。テストが成功した場合、戻り値が GUI 右側のパネルに表示されます。
- テストが失敗した場合、編集画面に Null Pointer 例外が返されます。CORBA サーバーをチェックして、サーバーが指定されたポートで待機しており、サービスが実行中であることを確認してください。