在业务流程内执行BizTalk平面文件反汇编程序管道

在业务流程内执行BizTalk平面文件反汇编程序管道,biztalk,biztalk-2013,Biztalk,Biztalk 2013,我对BizTalk并不陌生,但这种情况有些新。我在BizTalk业务流程中遇到以下情况: 我从其他来源获得平面文件的路径 我想在编排中加载此文件,并通过执行管道将其反汇编 我搜索了很多,但几乎每个人都谈到在编排内部的管道中提供XML文档 我也得到了下面的链接,但到目前为止我还没有找到有效的解决方案 当我实现上述链接给出的解决方案时,我得到错误“任何反汇编阶段的组件都无法识别数据。” 由于性能限制,我也不想创建动态接收位置 以下是我目前的代码 在流中加载文件内容 按照链接2中的建议创建Cust

我对BizTalk并不陌生,但这种情况有些新。我在BizTalk业务流程中遇到以下情况:

  • 我从其他来源获得平面文件的路径
  • 我想在编排中加载此文件,并通过执行管道将其反汇编
  • 我搜索了很多,但几乎每个人都谈到在编排内部的管道中提供XML文档

    我也得到了下面的链接,但到目前为止我还没有找到有效的解决方案

    当我实现上述链接给出的解决方案时,我得到错误“任何反汇编阶段的组件都无法识别数据。”

    由于性能限制,我也不想创建动态接收位置

    以下是我目前的代码

  • 在流中加载文件内容

  • 按照链接2中的建议创建CustomBTXMessage实例

  • 负载流如下所示

    customBTXMessage=新的customBTXMessage(“MyMessageName”

    Service.RootService.XlangStore.OwningContext); customBTXMessage.AddPart(string.Empty,“Body”)

    customBTXMessage[0].LoadFrom(毫秒)

    返回customBTXMessage.GetMessageWrapperForUserCode()


  • 我认为这种情况在世界上并不新鲜。任何做过这件事的人都必须能迅速帮助我。

    以下是我要做的……或者至少先试试

  • 为获得的每种平面文件类型创建接收端口和接收位置
  • 获取文件列表
  • 在业务流程中,将文件移动到适当的接收位置
  • 平面文件反汇编程序在端口管道中像正常情况一样处理文件
  • 使用从步骤1绑定到接收端口的有序传递端口将文件接收到业务流程中
  • 接收文件时循环,检查BTS.LastInterchagneMessage
  • 如果为True,则退出该循环并返回步骤3

  • A) 为什么不能使用文件适配器读取文件?B) 您是否必须在发现路径的同一业务流程中处理文件?因此文件可以位于多个文件夹中,如果要启动新业务流程,则我必须为每个路径创建新的文件接收位置。是的,我必须在同一业务流程中处理该文件。平面文件(内容或文件名)与您所在的流之间是否存在相关性?那么…为什么不能创建多个接收位置?这没问题。那么,在Pieter Vandenheede之后,有没有办法关联这些文件?必须有一个共享值。所以情况是,我从一个源获取一个文件路径列表,然后必须按顺序处理这些平面文件。不能同时处理两个文件。一种解决方案是下载第一个编排中的所有文件,然后创建另一个orch,该orch与接收端口名具有相关性。在这种情况下,我将不得不在一方接收端口中创建多个接收位置。但创建两个orch的问题是,我必须退出BizTalk,然后启动或读取我在第一个orch中已经拥有的所有其他变量。谢谢约翰,我会采用这种方法,以防明天我得不到解决方案。@Prasony解决方案也。。。?为了清楚起见,我会避免读取编排中的文件,尽管这是可能的。它只是更复杂,更少的“BizTalk方式”。