アイテム コレクションを含む注文リクエストがあります - 以下に示します。
各アイテムはデータベース テーブルに単一のレコードとして保存され、特定の注文の OrderId によって結合されます
2つのアイテムでリクエスト
<orderRequest>
<orderTimestamp>
<!--1 or more repetitions:-->
<items>
<item>
</itemName>
</quantity>
</unitPrice>
</item>
<item>
</itemName>
</quantity>
</unitPrice>
</item>
</items>
</orderRequest>
DataSource ステップを使用して、クエリを使用してデータベースからデータを取得し、クエリ結果の値をリクエスト要素にマップしました。
ただし、これを行うことで、注文リクエストに追加できるアイテムは 1 つだけです。特定の orderID に対して返される行数に基づいてアイテム コレクションにオブジェクトを動的に追加する方法はありますか?
編集 例として、2 つの注文ステップ 1: DataSource ステップのサンプル値を取得しました。最初の列のカウントは、特定の注文 ID のアイテムの数を定義します。基本的に追加するアイテム コレクションの数
ステップ 2: SOAP リクエスト ステップ - 要素の値は、データソース ステップの列に直接マップされます。ただし、上記のように、特定の注文のアイテム数に基づいてコレクションを追加する必要があります。例: 注文 ID 1 には 2 つのアイテムがあり、注文 ID 2 には 4 つのアイテムがあります。したがって、1 つは 2 項目、もう 1 つは 4 項目の 2 つの要求を行う必要があります。現在、私はそれを直接マッピングしていますが
<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: データソース ループ ステップ - これは基本的に、データソース ステップのすべてのデータに対して上記の 2 つのステップをループします。したがって、そのまま実行すると、それぞれ1つのアイテムで6つのリクエストが行われます