如何使用wso2 esb

时间:2019-02-14 06:11:56

标签: xml wso2 wso2esb wso2ei

我尝试使用WSO2ESB中的以下方法(WSO2ESB中的playload factory)将两个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>

1 个答案:

答案 0 :(得分: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都显示了,并且值也显示了。