我有一个包含项目集合的订单请求 - 如下所示
每个项目都保存为数据库表中的单个记录,这些记录由特定订单的 OrderId 绑定在一起
请求两个项目
<orderRequest>
<orderTimestamp>
<!--1 or more repetitions:-->
<items>
<item>
</itemName>
</quantity>
</unitPrice>
</item>
<item>
</itemName>
</quantity>
</unitPrice>
</item>
</items>
</orderRequest>
我正在使用 DataSource 步骤使用 Query 从数据库中提取数据,并将查询结果中的值映射到请求元素上。
但是,通过这样做,我只能将一项添加到订单请求中。有没有一种方法可以根据为特定 orderID 返回的行数将对象动态添加到项目集合中?
编辑 出于示例目的,我为两个顺序步骤 1:数据源步骤获取了示例值。第一列中的计数定义给定订单 ID 的项目数。本质上是要添加的项目集合的数量
步骤 2:SOAP 请求步骤 - 元素值直接映射到数据源步骤的列。但是,如上所述,我们需要根据给定订单的商品数量添加集合 例如:订单 ID 1 有 2 件商品,订单 ID 2 有 4 件商品。所以必须提出两个请求,一个有 2 个项目,第二个有 4 个项目。目前虽然我已经直接映射它
<orderRequest>
<orderTimestamp>${OrderData#orderTimestamp}</orderTimestamp>
<!--1 or more repetitions:-->
<items>
<item>
<itemName>${OrderData#itemName}</itemName>
<quantity>${OrderData#quantity}</quantity>
<unitPrice>${OrderData#unitPrice}</unitPrice>
</item>
</items>
</orderRequest>
第 3 步:数据源循环步骤 - 这实质上是对数据源步骤中的所有数据循环执行上述两个步骤。因此,如果我按原样运行,它将发出 6 个请求,每个请求一个项目