Virtualize 还允许映射数据源中的分层数据结构。
例如,假设您正在为一个搜索操作创建一个消息响应器,作为书店服务的一部分。返回的每本书都有一个复杂的 XML 结构,可以返回不同数量的书(取决于搜索条件)。为了支持这一点,我们需要一个“数组数据源”,它可以用来构造动态分层响应。
设置数据源
您可以这样设置数据源:
- 创建一个包含三张表格(命名为关键字、书籍和作者)的 Excel 电子表格。
- 如下填写关键字表格。
注意书籍 dsref* 列。这就是我们表示书籍关键字来自书籍表格的方式(dsref* 表示 Data Source REFerence)。 - 填写书籍表格。
注意作者 dsref* 列。还要注意 ParentIndex 列。ParentIndex 列的值指示书籍与哪个关键字相关。例如,本工作表中列出的两本 Java 书籍都有 Java 关键字。 - 填写作者表格。
注意 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 组件,需要将表单输入参数化,操作如下:
- 创建一个新的名为 ArrayDataSource.pva 的 .pva。
- 添加一个指向前面步骤中创建的 Excel 电子表格的 Excel 数据源。选择关键字作为工作表。
- 创建新的消息响应器。
- 将消息响应器的 WSDL URL 设置为 http://soatest.parasoft.com/store-01.wsdl
- 设置表单输入,如下所示:
- 在 authors下,清除 Nill,然后点击编辑。
- 选择固定值,点击插入,然后点击修改。
- 选择参数化和 books: authors:author。
然后,您将继续以这种方式配置响应,以构造您想要使用的动态分层响应。