我在JAVA Embedding中使用以下行为BPEL Invoke DB适配器输入变量赋值。
setVariableData("S2C_insert_InputVariable","TmpInvStoc3Collection","/ns8:TmpInvStoc3Collection/ns8:TmpInvStoc3/ns8:batchid","12345");
现在我想把这个语句放在java中的while循环中,并希望在n次迭代中重复这个。我想在集合中放置一个循环变量,但我不知道该怎么做。
我正在寻找类似下面的东西。
setVariableData("S2C_insert_InputVariable","TmpInvStoc3Collection","/ns8:TmpInvStoc3Collection/ns8:TmpInvStoc3[$loop_variable]/ns8:batchid","12345");
请告诉我如何实现这个目标
此致 穆拉利
答案 0 :(得分:0)
这是基于value
是i
的函数并且无法在BPEL中计算的假设。
String qry = "";
for (int i = 0; i < n; i++)
{
value = SomeFunctionThatRequiresJavaRatherThanBPEL(i);
qry = "/ns8:TmpInvStoc3Collection/ns8:TmpInvStoc3[" + i + "]/ns8:batchid";
setVariableData("S2C_insert_InputVariable","TmpInvStoc3Collection",qry,value);
}
代码可能更有效但它应该做你想要的。