Как объединить два xml с помощью wso2 esb - PullRequest
0 голосов
/ 14 февраля 2019

Я попытался объединить два xml-ответа в один xml-ответ, используя следующий метод (фабрика воспроизведения в WSO2ESB) в WSO2ESB.Но он возвращает только первый xml-объект.Пожалуйста, посоветовали мне.

<payloadFactory media-type="xml">
    <format>
        <combined1 xmlns="">$1</combined1>
        <combined2 xmlns="">$2</combined2> 
    </format>
    <args>
        <arg evaluator="xml" expression="$env/*[local-name()='Body']/*"/>
        <arg evaluator="xml" expression="$ctx:HotelAmenity/*/jsonArray"/>
    </args>
</payloadFactory>

Показан как показано ниже.

<combined1>
      <vh>
            <ho>
               <hn>Excalibur Hotel and Casino</hn>
               <hc>1026</hc>
               <ad>3850 Las Vegas Blvd. South</ad>
               <av/>
               <ci>Las Vegas</ci>
               <co>USA</co>
           </ho>
       </vh>
</combined1>

1 Ответ

0 голосов
/ 18 февраля 2019

Наконец-то я решил эту проблему, используя следующий код.

<payloadFactory media-type="xml">
    <format>
        <main>
          <combined1 xmlns="">$1</combined1>
          <combined2 xmlns="">$2</combined2> 
        </main>
    </format>
    <args>
        <arg evaluator="xml" expression="$env/*[local-name()='Body']/*"/>
        <arg evaluator="xml" expression="$ctx:HotelAmenity/*/jsonArray"/>
    </args>
</payloadFactory>

Просто я добавил внешний основной тег, теперь показываются оба тега комбинированные1 и комбинированные2, а также показывается значение.

...