读取多个文件并在wso2 esb中创建一条xml消息

时间:2015-07-01 04:32:40

标签: xml wso2 xslt-2.0 wso2esb

我们在一个集成项目中有一个场景,我们必须从目录(ftp)中读取不同的XML文件,并使用WSO2 ESB功能将其转换为单个XML消息。每个XML文件都有不同的名称和内容,我在Google上搜索了很多,但没有找到任何相关主题。任何帮助都将是一个很大的赞赏。 例如:

file1.xml

<dataroot>
  <data>
    <a>232</a>
  </data>
</dataroot>

file2.xml

<dataroot>
  <data2>
    <b>2434</b>
  </data2>
</dataroot>

输出:

<dataroot>
      <data>
        <a>232</a>
      </data>
      <data2>
        <b>3423</b>
      </data2>
</dataroot>

1 个答案:

答案 0 :(得分:0)

您可以使用VFS传输,但请注意VFS传输需要移动删除原始文件。因此,如果您不想在原始FTP位置本身上执行这些操作,最好在FTP和WSO2 ESB之间的代理文件夹顶部应用VFS处理。

一旦弄明白,您可以在每个文件上使用XSLT mediator / Smooks Mediator(如果文件大或数量很大)来收集data元素。 Enrich mediator可用于将收集的记录顺序添加到dataroot父级。

1 - https://docs.wso2.com/display/ESB481/Sample+271%3A+File+Processing

2 - https://docs.wso2.com/pages/viewpage.action?pageId=33136056

3 - https://docs.wso2.com/display/ESB481/Enrich+Mediator