将反汇编多个平面文件架构的Biztalk管道

将反汇编多个平面文件架构的Biztalk管道,biztalk,pipeline,flat-file,disassembly,Biztalk,Pipeline,Flat File,Disassembly,在我的BizTalk项目中,我需要一个接收管道,它将分解四个不同的平面文件,每个平面文件都有一个唯一的模式。也就是说,管道必须在运行时动态解析作为4个平面文件模式之一发送的平面文件模式 我听到过的最好的方法是在我的管道的反汇编阶段只使用4个平面文件反汇编形状。这背后的逻辑是BizTalk将逐个运行反汇编形状,直到它将文档的架构与反汇编程序组件中指定的架构之一匹配为止—有点像架构类型上的if语句。然而,无论我通过4个文档中的哪一个,BizTalk似乎总是希望使用管道中的第一个模式 所以我的问题是:

在我的BizTalk项目中,我需要一个接收管道,它将分解四个不同的平面文件,每个平面文件都有一个唯一的模式。也就是说,管道必须在运行时动态解析作为4个平面文件模式之一发送的平面文件模式

我听到过的最好的方法是在我的管道的反汇编阶段只使用4个平面文件反汇编形状。这背后的逻辑是BizTalk将逐个运行反汇编形状,直到它将文档的架构与反汇编程序组件中指定的架构之一匹配为止—有点像架构类型上的if语句。然而,无论我通过4个文档中的哪一个,BizTalk似乎总是希望使用管道中的第一个模式


所以我的问题是:有人能更详细地解释当一个管道中添加多个平面文件反汇编形状时会发生什么情况吗?有比采用这种方法更好的替代方法吗?

平面文件反汇编程序探测消息的确切方式没有很好的文档记录。然而,这通常并不重要,因为如果它不起作用,那么,在你的情况下,它就是不起作用

您可以做的是包装平面文件反汇编程序并实现您自己的、更健壮的检测逻辑


下面是一个示例:

您是否实现了IProbeMessage接口。此接口探测方法允许根据下一个管道组件的管道执行返回true或false