我不确定是否提出正确的问题,但这是我尝试运行的方案:
多个文件(XML和一些相关文件,“附件”)必须作为一条消息进入BizTalk。我已经研究了现有的适配器,但没有一次使用现有的适配器。为了更准确,文件是从文件系统中获取的。不能同时找到文件,但是在不能保证顺序的情况下一次到达一个文件。 XML(内容)文件是一种知道必须具有哪些附件(其他文件)的文件。
我们正在研究BizTalk 2009,我想知道这是定制适配器或其他工具的责任。我是否可以寻找样品。
谢谢。
最佳答案
尽管我建议您使用自定义适配器,但可能可以做您想做的事情。您可以使用业务流程实现所需的功能。
您正在寻找的是车队,或者至少使用某种相关性。
在BizTalk中,车队是一种消息传递模式(与BizTalk功能相对),它允许通过单个业务流程处理消息组。
本质上,您可以在接收端口上使用相关性,以并行(可能想要的方式)或顺序方式将消息分组在一起。
有一篇[[此处](Stephen W. Thomas的http://msdn.microsoft.com/en-us/library/ms942189(BTS.10).aspx))关于车队(这是针对BT 2004的,但概念仍然存在),并且在网上和书籍中都有很多其他信息(BizTalk Server 2006专业版提供了他们的一个小节)
如果没有关于您的方案的更多详细信息,很难确切地了解车队的建设方式,但是下面是两种研究方法(另外,我没有机会正确使用BT2009,因此可能会扩展对相关方案的支持,帮助你)。
弹性相关
如果您对上下文XML中列出的文件一无所知,则可能需要类似Charles Young在this帖子中描述的模式。
非均匀顺序护卫舰
如果您确实掌握了一些信息,则一种方法可能如下(基本上是非均匀顺序车队):
假设存在某种方式将所有文件链接在一起,以便可以将它们关联起来。
创建一个业务流程来订阅您的入站接收端口(包含文件接收位置)。
此业务流程将为您的内容文件设置一个激活接收形状。
一旦由内容文件开始编排,第二个相关的接收形状便开始拾取与该内容文件匹配的消息。 (第二次接收可能在循环中,以允许可变数量的文件)
然后,将它们全部打包到设计的单个出站文件中,并在收到全部文件后将其发送出去。
关于biztalk - BizTalk自定义适配器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1683981/