Virtualize では、データ ソースに階層的なデータ構造をマッピングすることも可能です。

たとえば、Bookstore サービスの一部として、検索操作のメッセージ レスポンダーを作成していると仮定します。検索結果として返ってくる本は複雑な XML 構造を持っていて、返ってくる結果の数もさまざまです (検索条件によって異なります)。対応するには、動的な階層レスポンスの構築に使用できる「配列データ ソース」が必要です。

データ ソースの設定

次の手順でデータ ソースを設定します。

  1. Excel スプレッドシートでシートを 3 つ (それぞれ keywords シート、 books シート、 authors シート) 作成します。
  2. keywords シートに次のように書き込みます。



    books dsref* 列に注目してください。これは、本のキーワードが books シートから参照されるということを示す方法です (dsref* とは Data Source REFerence を表します)。
  3. books シートに書き込みます。



    ここでも authors dsref* 列に注目してください。また、ParentIndex 列にも注目してください。 ParentIndex 列の値は、本にひも付いているキーワードを表します。 たとえば、このシートにリストされている Java の本は両方とも Java キーワードがひも付いています。
  4. authors シートに書き込みます。



    ここでも ParentIndex 列に注目してください。Harvey M. Deitel および Paul J. Deitel は両方とも同じ ParentIndex 値を持っています。なぜなら彼らは「How to Program in Java (4th Edition)」の共同著者であるからです。 David Flanagan は彼が書いた本、「Java in a Nutshell, Fourth Edition」にひも付いています。

フォーム入力のパラメータライズ

次に、これらの応答条件を XML で使用する方法を探ってみましょう。 author コンポーネントのレスポンスを指定するには、次のようにフォーム入力をパラメータライズします。

  1. ArrayDataSource.pva という名前で新しい .pva を作成します。
  2. Excel データ ソースを追加して、前の手順で作成した Excel スプレッド シートを指定します。[シート] で keywords を選択します。
  3. 新しいレスポンダー スイートを作成します。
  4. メッセージ レスポンダーの [WSDL URL] に次の URL を設定します。 http://soatest.parasoft.com/store-01.wsdl
  5. [フォーム入力] を次のように設定します。
    1. author 要素で [Nill] をオフにし、[編集] をクリックします。
    2. [固定] を選択し、[挿入] をクリックしてから [変更] をクリックします。
    3. [パラメータライズ] を選択し、books:authors:author を選択します。

使用したい動的階層レスポンスを構築するために、この方法でレスポンスを設定します。

  • No labels