我在Open ESB BEPL流程中映射嵌套列表时遇到问题。 我正在调用一个返回包含列表的对象的服务。该列表中的一个参数是另一个列表。我的返回对象,我映射到,或多或少地复制了服务返回的对象的结构。 (即它有一个列表,其中一个参数是嵌套列表)
我可以毫无问题地将第一级列表中的参数映射到彼此。当我尝试将嵌套列表中的参数映射到返回对象中的嵌套列表时,我得到一个com.sun.xml.transform.sware.TooManyElementsException。这似乎表明(从我可以收集到的)我试图将一个集合映射到一个变量。 (几乎像BPEL没有遍历嵌套列表)。这一切都在同一个BPEL分配中完成。
以下是我的BPEL代码:< assign name="mapGetQuotesOut" >
<!-- this works -->
<copy> <from>$getClientQuotesOut.parameters/ns0:GetClientQuotesResult/ns1:QuotePolicy/ns1:ProductID</from>
<to>$viewCustomerOut.part1/return/quotes/produsctID</to>
</copy>
<!-- this works -->
<copy>
<from>$getClientQuotesOut.parameters/ns0:GetClientQuotesResult/ns1:QuotePolicy/ns1:LeadSourceCode</from>
<to>$viewCustomerOut.part1/return/quotes/leadSourceCode</to>
</copy>
<!-- this causes the error -->
<copy>
<from>$getClientQuotesOut.parameters/ns0:GetClientQuotesResult/ns1:QuotePolicy/ns1:QuoteItems/ns1:QuoteItem/ns1:ItemDesc<<from>
<to>$viewCustomerOut.part1/return/quotes/vehicleQuoteItems/itemDescription</to>
</copy>
<!-- this also causes the error -->
<copy>
<from>$getClientQuotesOut.parameters/ns0:GetClientQuotesResult/ns1:QuotePolicy/ns1:QuoteItems/ns1:QuoteItem/ns1:AgentCode</from>
<to>$viewCustomerOut.part1/return/quotes/vehicleQuoteItems/agentCode<to>
</copy>
</assign>
有任何想法或建议吗? 麦克
答案 0 :(得分:1)
您需要使用for-each执行XSL转换。