如何使用wso2 esb组合两个xml

问题描述 投票:1回答:1

我尝试使用WSO2ESB中的以下方法(WSO2ESB中的playload工厂)将两个xml响应组合到一个xml响应中。但它只返回第一个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>
xml wso2 wso2esb wso2ei
1个回答
1
投票

最后,我使用以下代码解决了这个问题。

<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>

只是我添加了外部主标记,现在标记combined1和combined2显示和值也显示。

© www.soinside.com 2019 - 2024. All rights reserved.