Soap 问题:BPEL数组填充

Soap 问题:BPEL数组填充,soap,soa,jdeveloper,bpel,Soap,Soa,Jdeveloper,Bpel,我创建了一个BPEL流程,它执行一些业务逻辑(让我们从部门列表中获取数据)。在下一个活动中,我必须使用相同的获取列表 然后我为部门列表创建了一个xsd,并希望在其中添加元素,这样我将把获取的列表放入数组中,然后我可以在下一个活动(Java嵌入)中使用相同的数组 在我的第一个java嵌入活动中,我使用了以下代码填充数组 对于(inti=0;i我不相信setVariableData(“department”,“/ns1:department/ns1:Dept/ns1['i']:DeptName”,“

我创建了一个BPEL流程,它执行一些业务逻辑(让我们从部门列表中获取数据)。在下一个活动中,我必须使用相同的获取列表

然后我为部门列表创建了一个xsd,并希望在其中添加元素,这样我将把获取的列表放入数组中,然后我可以在下一个活动(Java嵌入)中使用相同的数组

在我的第一个java嵌入活动中,我使用了以下代码填充数组


对于(inti=0;i我不相信
setVariableData(“department”,“/ns1:department/ns1:Dept/ns1['i']:DeptName”,“value”)中的i;
正在按照您的想法进行扩展。您必须首先使用i的值将第二个参数构建为字符串,然后将其传递给setVariableData。

我也尝试过,它需要一些元素变量…感谢您的响应。您是否希望在此处插入for循环中的i?不是。您必须这样做:string s=“/ns1:department/ns1:Dept/ns1[”“+i+”]:DeptName”然后将s作为第二个参数传递到setVariableData中。
<May 9, 2011 6:47:11 PM SGT> <Error> <oracle.soa.bpel.engine> <BEA-000000> <<BPELXExecLet::setVariableData>
java.lang.ClassCastException: java.lang.Integer cannot be cast to org.w3c.dom.Element
        at com.collaxa.cube.engine.ext.bpel.v1.nodes.BPELXExecLet.setVariableData(BPELXExecLet.java:750)
<?xml version="1.0" encoding="windows-1252" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns="http://www.example.org"
            targetNamespace="http://www.example.org"
            elementFormDefault="qualified">

            <xsd:element name="department" type="DeptCollection">
            </xsd:element>
  <xsd:complexType name="DeptCollection">
    <xsd:sequence >
       <xsd:element name="Dept" type="Dept" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Dept">
    <xsd:sequence>
      <xsd:element name="DeptName" type="xsd:string" />
      <xsd:element name="HOD" type="xsd:string" />
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>