Virtualize 还允许映射数据源中的分层数据结构。
例如,假设你正在为一个搜索操作创建一个消息响应器,作为书店服务的一部分。返回的每本书都有一个复杂的 XML 结构,可以返回不同数量的书(取决于搜索条件)。为了支持这一点,我们需要一个“数组数据源”,它可以用来构造动态分层响应。
设置数据源
你可以这样设置数据源:
- 创建一个包含3张表格(命名为关键字、书籍和作者)的 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/store01.wsdl
- 设置表单输入,如下所示:
- 在 authors下,清除 Nill,然后单击 Edit。
- 选择 Fixed,单击 Insert,然后单 Modify。
- 选择 Parameterized 和 books: authors:author。
然后,你将继续以这种方式配置响应,以构造你想要使用的动态分层响应。