简体   繁体   English

Biztalk管道,将分解多个平面文件架构

[英]Biztalk Pipeline That Will Disassemble Multiple Flat File Schemas

In my BizTalk Project, I need to have a Receive Pipeline that will disassemble four different flat files that each have a unique schema. 在我的BizTalk项目中,我需要有一个接收管道,该管道将分解四个不同的平面文件,每个文件都有唯一的架构。 That's to say, the pipeline must resolve the schema of the flat file sent through as 1 of 4 flat file schemas dynamically at runtime. 这就是说,管道必须在运行时动态解析作为4个平面文件模式之一发送的平面文件的模式。

The best approach I have heard to do this is to just have 4 Flat File Disassemble shapes in the Disassemble stage of my pipeline. 我听说过的最好方法是在管道的“反汇编”阶段中只有4个“平面文件反汇编”形状。 The logic behind this is that BizTalk will run through the disassemble shapes one by one until it matches the schema of the document to one of the schemas designated in the disassembler components - sort of like an if statement on the schema type. 背后的逻辑是BizTalk将逐个运行反汇编形状,直到它将文档的模式与反汇编器组件中指定的模式之一匹配为止-类似于对模式类型的if语句。 However, no matter which of the 4 documents I pass through, BizTalk seems to always want to go with the very first schema in line in the pipeline disassemble shapes. 但是,无论我浏览了4个文档中的哪个文档,BizTalk似乎总是希望将管线分解形状中的第一个模式放在行中。

So my question(s): Can someone explain in more detail exactly what happens when more than one flat file disassemble shape gets added to a pipeline? 所以我的问题是:有人可以更详细地解释将多个平面文件的反汇编形状添加到管道时会发生什么情况吗? Is there a better alternative than to take this approach? 有没有比采用这种方法更好的选择了?

Exactly how the Flat File Disassembler probes the messages is not well documented. 平面文件反汇编程序对消息的探测方式还没有得到很好的记录。 However, it usually doesn't matter because if it doesn't work, well, it just doesn't work in you case. 但是,这通常并不重要,因为如果它不起作用,那么就您而言,它就不起作用了。

What you can do is wrap the Flat File Disassembler and implement you own, more robust, detection logic. 您所要做的就是包装平面文件反汇编程序,并实现自己拥有的更强大的检测逻辑。

Here's an example: http://biztalkxin.blogspot.com/2012/11/biztalk-2010-create-dynamic-flat-file.html 这是一个示例: http : //biztalkxin.blogspot.com/2012/11/biztalk-2010-create-dynamic-flat-file.html

Have you implemented IProbeMessage interface. 您是否实现了IProbeMessage接口。 This interface probe method allows to return true or false based on which pipeline execution goes to next pipeline component 此接口探测方法允许根据哪个管道执行转到下一个管道组件来返回true或false

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM