java - 我需要使用 Java Embedded 将结果数组写入任意类型且在 BPEL 中无界的变量

标签 java arrays soa bpel oracle-soa

我需要调用在DB2中运行的存储过程。由于Oracle DB Adapter不支持DB2,我使用Java Embedding来调用存储过程。我在使用 Java 嵌入调用存储过程并获取结果集时没有问题。问题从开始将结果集分配给输出变量时开始。我使用下面的片段来设置变量。

rset=statement.executeQuery("SELECT name, number, salary from Employee");
rset = statement.getResultSet();
int j=1;
 if (rset != null)
{
while(rset.next())
{
    name=rset.getString("name");
    name=rset.getString("number");
    name=rset.getString("salary");
    setVariableData("temp","payload","/ns1:code1["+j+"]/ns1:empname",name); 
    setVariableData("temp","payload","/ns1:code1["+j+"]/ns1:empno",number);
    setVariableData("temp","payload","/ns1:code1["+j+"]/ns1:salary",salary); 
        j=j+1;
}
}

在上面提到的代码中,我希望显示要分配给输出变量 temp 的所有员工的所有员工姓名、编号和工资详细信息。但是我看到的输出只是最后一个员工详细信息。剩余的员工详细信息不是如图所示。如果我将变量 j 替换为 1 或 2 或 3 等,我仅得到该数组元素详细信息的输出,而其他详细信息未知。有人可以帮助我将整个结果集获取到输出变量。

最佳答案

您是否尝试在设置 is 子元素之前创建“/ns1:code1["+j+"] 元素?

我发现了这个问题报告:

http://oraclefusion1011.blogspot.com/2011/01/issue-with-setvariabledata-in-java.html

关于java - 我需要使用 Java Embedded 将结果数组写入任意类型且在 BPEL 中无界的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7401568/

相关文章:

arrays - TCL:如何返回数组?

python - del 语句不适用于列表

WCF SOA 命名约定

WCF SOA : CRUD Data Access Service. ..为什么要麻烦(或者我们的设计错误)?

c# - 使用 .NET 的 SOA 架构真实示例

java - 尝试使用 jdbc 连接到 mysql 数据库

java - IBM MobileFirst v8 登录 validator 的 LDAPS 配置

java - 使用 Excel 失败数据( float )

php - 有没有更好的代码(MySql 或 PHP),我可以在一个语句或查询中获取两个表?

java - 将日期从远程源转移到本地