Проблема BPEL в Open ESB com.sun.xml.transform.sware.TooManyElementsException - PullRequest
0 голосов
/ 18 января 2012

У меня проблема с отображением вложенных списков в процессах 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&lt<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>

Есть идеи или предложения?Mike

1 Ответ

1 голос
/ 24 января 2012

Вам необходимо выполнить XSL-преобразование, используя for-each.

...