将多个不同的文件处理成一个输出消息

时间:2013-10-03 17:55:22

标签: biztalk

我有五个不同的excel文件(不同的结构和不同的数据) 将被处理成一个输出消息(XML文件)。 文件以不同的顺序到达,所有文件都需要创建输出xml文件。

我怎么能在Biztalk中做到这一点?

更具体的问题:

1.是否有可能在Biztalk中聚合不同类型的消息并拥有多个机构的消息?

2.我可以将5个excel文件聚合成一个消息,然后执行输出管道来处理所有这些文件吗?

2 个答案:

答案 0 :(得分:3)

我会按如下方式解决这个问题:

  1. 创建一个表示目标格式的新架构,我们将传入的消息映射为此格式。
  2. 创建表示传入Excel电子表格的架构(可能是Xml,而不是平面文件)。通过自定义管道组件(使用Excel SDK不太困难)或通过第三方工具(例如Farpoint Spread http://www.fpoint.com/biztalk/default.aspx)将Excel文件反汇编到相应的模式中,还有一个codeplex上的开源组件http://excel2007pipeline.codeplex.com/
  3. 将接收端口上的传入xml消息(反汇编的Excel文件)映射到1中创建的目标格式。可以在接收端口上使用多个接收位置,每个传入消息格式一个;同样,可以在接收端口上指定多个映射,并且BizTalk将根据传入消息类型(模式名称空间+根节点名称)自动选择正确的映射。
  4. 关于聚合消息,请查看并行和顺序车队;关于具有多个主体的消息,请查看多部分消息 - 这两个消息都超出了本问题的范围,除非您根据这些概念添加有关您要实现的内容的更多详细信息。

答案 1 :(得分:2)

广泛同意Nick的上述答案,尤其是在入站管道中映射消息。

但是,我不会在BizTalk中通过顺序护送模式实现聚合,因为这样做需要使用单例编排,这是BizTalk反模式(以及支持噩梦)。

基本的平行车队可以工作,因为每个"设置" 5个输入将被路由到业务流程的一个实例,该实例将在完成后终止。