Virtualize 还允许映射数据源中的分层数据结构。

例如,假设您正在为一个搜索操作创建一个消息响应器,作为书店服务的一部分。返回的每本书都有一个复杂的 XML 结构,可以返回不同数量的书(取决于搜索条件)。为了支持这一点,我们需要一个“数组数据源”,它可以用来构造动态分层响应。

设置数据源

您可以这样设置数据源:

  1. 创建一个包含三张表格(命名为关键字、书籍和作者)的 Excel 电子表格。
  2. 如下填写关键字表格。

    注意书籍 dsref* 列。这就是我们表示书籍关键字来自书籍表格的方式(dsref* 表示 Data Source REFerence)。
  3. 填写书籍表格。

    注意作者 dsref* 列。还要注意 ParentIndex 列。ParentIndex 列的值指示书籍与哪个关键字相关。例如,本工作表中列出的两本 Java 书籍都有 Java 关键字。
  4. 填写作者表格。

    注意 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 数据源。选择关键字作为工作表。
  3. 创建新的消息响应器。
  4. 将消息响应器的 WSDL URL 设置为 http://soatest.parasoft.com/store-01.wsdl
  5. 设置表单输入,如下所示:
    1. authors下,清除 Nill,然后点击编辑
    2. 选择固定值,点击插入,然后点击修改
    3. 选择参数化 books: authors:author

然后,您将继续以这种方式配置响应,以构造您想要使用的动态分层响应。

  • No labels