我有一个接收数组并输出另一个数组的 bpel 进程。
问题是,我需要获取第一个元素,填充第二个元素并在第二个元素中添加一些元素。
我的第一个数组来自这种对象:
<xsd:complexType name="comment_A">
<xsd:sequence>
<xsd:element name="id" type="xsd:int"/>
<xsd:element name="username" type="xsd:string"/>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="picture" type="xsd:base64Binary"/>
<xsd:element name="date" type="xsd:string"/>
<xsd:element name="hour" type="xsd:string"/>
<xsd:element name="bus-line" type="xsd:string"/>
<xsd:element name="bus-number" type="xsd:integer"/>
<xsd:element name="description" type="xsd:string"/>
<xsd:element name="rate" type="xsd:int"/>
</xsd:sequence>
</xsd:complexType>
我的第二个:
<xsd:complexType name="comment_B">
<xsd:sequence>
<xsd:element name="id" type="xsd:int"/>
<xsd:element name="username" type="xsd:string"/>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="picture" type="xsd:base64Binary"/>
<xsd:element name="date" type="xsd:string"/>
<xsd:element name="hour" type="xsd:string"/>
<xsd:element name="bus-line" type="xsd:string"/>
<xsd:element name="bus-number" type="xsd:integer"/>
<xsd:element name="description" type="xsd:string"/>
<xsd:element name="rate" type="xsd:int"/>
<xsd:element name="type-comment" type="xsd:string"/>
<xsd:element name="liked-number" type="xsd:int"/>
</xsd:sequence>
</xsd:complexType>
因此,首先,我尝试遍历第一个数组,以使用两者共同的属性填充第二个数组。我尝试使用 forEach 元素。
我的代码看起来像这样:
<forEach parallel="yes" counterName="c" name="forEachComment">
<startCounterValue>1</startCounterValue>
<finalCounterValue>count($comments.VwCommentCollection/ns3:VwComment)</finalCounterValue>
<scope name="Scope1">
<assign name="assignResult">
<extensionAssignOperation>
<bpelx:copyList>
<bpelx:from>$comments.VwCommentCollection[$c]</bpelx:from>
<bpelx:to>$outputVariable.payload</bpelx:to>
</bpelx:copyList>
</extensionAssignOperation>
<copy>
<from>$comments.VwCommentCollection[$c]/ns3:VwComment/ns3:id</from>
<to>$outputVariable.payload/ns2:comment/ns2:id</to>
</copy>
</assign>
</scope>
</forEach>
我首先尝试使用 id 元素进行测试,但是当 comment_A 数组的大小大于 1 时,我收到一个异常
$comment 是我的变量,其中 comment_A 数组