biztalk是否附带LF到CRLF筛选器?

biztalk是否附带LF到CRLF筛选器?,biztalk,biztalk-2009,Biztalk,Biztalk 2009,我们有一个遗留系统,可以在Unix上以固定格式输出平面文件。数据的目标操作系统是Windows和Unix,正如您从该文件格式中预期的那样,行尾字符有问题。源系统和目标系统之间的数据格式不变(即,它们当前都接受固定格式) 我的问题是, BizTalk是否附带了将LF转换为CRLF的筛选器,这似乎是在与传统异构系统接口时的常见问题 我们正在使用BizTalk 2009,但正在升级到2011。BizTalk可以使用XML。您可以使用平面文件向导导入UNIX源文件,并从BizTalk XML消息中再次创

我们有一个遗留系统,可以在Unix上以固定格式输出平面文件。数据的目标操作系统是Windows和Unix,正如您从该文件格式中预期的那样,行尾字符有问题。源系统和目标系统之间的数据格式不变(即,它们当前都接受固定格式)

我的问题是,

BizTalk是否附带了将LF转换为CRLF的筛选器,这似乎是在与传统异构系统接口时的常见问题


我们正在使用BizTalk 2009,但正在升级到2011。

BizTalk可以使用XML。您可以使用平面文件向导导入UNIX源文件,并从BizTalk XML消息中再次创建所需的任何输出。对示例目标文件使用平面文件向导创建正确的架构。

我不会为了满足两个不同的架构而编写两个具有不同行尾的相同架构

相反,我将编写一个带有两行结尾之一的平面文件模式。然后,编写一个encode-send管道组件,并在传输消息时将行尾更改为“other”系统。这将是BizTalk中最接近LF到CRLF的筛选器


如果您的终端系统需要不同的消息结构,那么我将考虑创建两个模式。

< P>不,它不是同一个。

平面文件架构向导将为其中一个设计架构,但您必须选择一个,而不是混合使用它们

有两种选择:

  • 删除接收输入文件的任何流程/自动化中的CRs。然后,将您的模式设计为只使用LF。然后,任何一种格式都可以接收并正确处理。这通常是微不足道的
  • 创建自定义管道组件以执行步骤1

  • 不过,编写此编码器时要非常小心。确保它使用流式传输(理想情况下是虚拟流式传输),这样它就不会将整个消息加载到内存中。我见过它没有这样做,如果消息非常大,它会导致它失败。