I am having a problem mapping nested lists in an Open ESB BEPL processes. I am calling a service that returns a object containing a list. One of the parameters in that list is another list. My return object, that I'm mapping to, more or less replicates the structure of the object returned by the service. (I.e. it has a list, one of the parameters of which is a nested list)
I can map the parameters from the first level lists to each other without issue. When I try to map the parameters in the nested list to the nested list in my return object I get a com.sun.xml.transform.sware.TooManyElementsException. Which seems to indicate (from what I can gather) that I'm trying to map a collection into a single variable. (Almost like BPEL is not iterating through the nested list). This is all being done in the same BPEL assign.
Here is my BPEL Code:< 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>
Any ideas or suggestions? Mike
You need to perform XSL transformation by using for-each.