wso2 ESB: шаблон разделения / сбора - одиночный ответ

Этоне вопрос а точнееответ, Я совершенно новичок в wso2 ESB и хотел сделать тестовый запуск, реализующий EIP с разделением / сборкой как часть POC. Я последовал примерам, которые нашел, и сразу же получил рабочую конфигурацию, которая возвращала единственный ответ. Однако чтобы получить ответы на все вопросы, потребовалось довольно много времени, чтобы разобраться. Большинство данных образцов, казалось, дали тот же неожиданный результат. Я надеюсь, что если вы столкнетесь с такой же проблемой, эти строки будут вам полезны.

Настроить

Я использовалпример службы мыла (операция поиска) в качестве служебного бэкэнда. Я отправил комбинированное сообщение в поискахдва предмета на прокси-сервер (см. артефакт ниже)повторять разделение медиатора сообщение и направляет его в конечную точку, котораязовет мыльный макет.совокупный посредник ждет всех ответов и пытается поместить их в одно сообщение о результате.

проблема

Хотя сплиттер работал правильно, агрегатор вернулсятолько один элемент результата не список элементов, как ожидалось. Все журналы показали, что все было в порядке, несколько запросов было отправлено на соответствующие конечные точки, но все же только первый ответ, который был возвращен, был виден в конечном ответе.

Решение

После установки уровня журнала прокси TRACE я понял, что агрегатор работает просто отлично, только он создал сообщение, которое не былоМы действительно соответствуем SOAP. Всеагрегированные элементы были добавленыпрямо под мыльным телом, Поэтому вопрос заключался в том, как добавить один корневой элемент между тегами body и result. Сначала я попробовал XSLT, но он также мог читать только первый дочерний элемент тела. Наконец я нашел какой-то глубоко скрытый намек наиспользование обогащать посредника (или, скорее, серия этого), и это добилось цели. Следующий список объясняет ту часть конфигурации (код показан ниже), которую нет в большинстве примеров.

Используйте сначала Enrich для захвата всех соответствующих предметов в собственностьЗабудьте о текущем сообщении - перепишите полный конверт с телом, содержащим только новый корневой элемент полезной нагрузкиПрикрепите элементы, хранящиеся в свойстве, к новому корню полезной нагрузки.Если необходимо, захватите заголовок мыла в свойстве и присоедините его к новому сообщению (не в конфигурации ниже)АртефактыДемо-запрос

   
      
         123
         Item 1
      
      
         123
         Item 2
      
   

конфиг

   
      
         
            
               
                  
                     
                  
               
            
         
      
      
         
            
               
            
            
               
                  
                  
               
               
                  
               
               
                  
                                             
                                                
                                                   
                                                   
                                             
                     
                  
                  
               
               
                  
                  
               
               
            
         
      
   
   

Наконец вопрос

Если бы кто-то мог намекнуть мне на какую-то документацию или дать мне какой-нибудь рабочий конфиг для атрибута correlateOn агрегатного посредника I 'Я действительно ценю это.

Ответы на вопрос(2)

Ваш ответ на вопрос