【问题标题】:How to combind two xml using wso2 esb如何使用 wso2 esb 组合两个 xml
【发布时间】:2019-02-14 06:11:56
【问题描述】:

我尝试在 WSO2ESB 中使用以下方法(WSO2ESB 中的播放加载工厂)将两个 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>

【问题讨论】:

  • 它甚至没有显示 combine2 元素,还是没有你想要的内容?
  • 是的,这是我的问题。这里没有显示。谢谢

标签: xml wso2 wso2esb wso2ei


【解决方案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>

只是我添加了外部主标签,现在标签组合1和组合2显示并且值也显示。

【讨论】:

  • 他们有什么方法可以使用&lt;enrich&gt; 标签来做到这一点吗?
猜你喜欢
  • 2017-06-29
  • 1970-01-01
  • 1970-01-01
  • 2017-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多