Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
setVariableData从java嵌入中分配调用输入变量集合_Java_Arrays_Embedding_Bpel_Assign - Fatal编程技术网

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

setVariableData从java嵌入中分配调用输入变量集合,java,arrays,embedding,bpel,assign,Java,Arrays,Embedding,Bpel,Assign,我在JAVA嵌入中使用下面一行为BPEL Invoke DB适配器输入变量赋值 setVariableData("S2C_insert_InputVariable","TmpInvStoc3Collection","/ns8:TmpInvStoc3Collection/ns8:TmpInvStoc3/ns8:batchid","12345"); 现在我想把这个语句放在java中的while循环中,并想在n次迭代中重复这个语句。我想在集合中放置一个循环变量,但我不知道如何做 我在找下面这样的东

我在JAVA嵌入中使用下面一行为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");
请让我知道如何做到这一点

问候
Murali

这是基于以下假设的:
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);
}
String qry=”“;
对于(int i=0;i

代码可能会更高效,但它应该满足您的要求。

谢谢Dan。这起了作用,但只是个小问题。TmpInvStoc3集合只包含一个TmpInvStoc3元素,我在第二次迭代中遇到选择失败异常。有没有办法将TmpInvStoc3元素从java添加到S2C_Insert_InputVariable中?感谢您在BPEL分配中提供了一个选项,您可以自动添加空元素。不过,我不知道如何在Java中重现这种功能。