setVariableData从java嵌入中分配Invoke输入变量集合

时间:2013-12-18 17:53:26

标签: java arrays embedding bpel assign

我在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");

请告诉我如何实现这个目标

此致 穆拉利

1 个答案:

答案 0 :(得分:0)

这是基于valuei的函数并且无法在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);
}

代码可能更有效但它应该做你想要的。