无法读取管道产生的流-参数名称:format

时间:2019-01-14 08:44:41

标签: biztalk biztalk-2016

我有一个BizTalk 2016 FP3解决方案。使用该向导,我为发送端口创建了一个平面文件架构,以便从xml组装为固定位置的文本文件。

通过BizTalk运行时,我得到了一个带有以下错误信息的挂起实例:

Unable to read the stream produced by the pipeline. 
 Details: Value cannot be null.
Parameter name: format 

因此,我打开了挂起消息的消息选项卡,并将xml复制到测试文件。然后,我通过ffasm.exe工具运行此文件,将路径作为-bs参数传递到我的平面文件架构-该工具的输出是完美的,正是我所期望的平面文件内容。

在发送端口(仅包含Microsoft Flat文件汇编器组件)上,我已使用所需的 schematypename,assemblystrongname 填充为“ DocumentSpecName”属性。由于BizTalk能够从提升的namespace#rootnode来确定架构,因此这并不是真正需要的,因此我尝试了未设置属性的情况,但仍然得到相同的结果。

3 个答案:

答案 0 :(得分:1)

似乎有多种情况可能导致此错误。

  1. 该架构实际上不是平面文件架构(但是您已经检查过了),请参见MSDN Unable to read the stream produced by the pipeline, Flat Send Pipeline
  2. 这是一个固定长度的架构,缺少必填字段之一(请参见Error details: Unable to read the stream produced by the pipeline. Details: Cannot find definition for the input: {Record, Element, or Attribute}以及Flat file assembler都可以通过强制从源架构中创建可选元素来解决。

答案 1 :(得分:1)

昨天遇到了同样的问题,请尝试用另一个管道替换该管道,应用该管道,然后再切换回正确的管道。测试。 希望这对您有所帮助。

答案 2 :(得分:0)

恐怕这是在我不知道如何解决的情况下修复的。问题一直困扰着我好几个小时,所以我回到了基础上,并在另一台开发VM上创建了一个新的解决方案-它起作用了!因此,我回到了我的主要开发虚拟机,问题不再存在。现在,我不相信魔术,因此,我确定我必须进行了一些更改,但是此后,我尝试通过干预输入文件和平面文件模式来重新创建错误,但我一直无法进行。

我了解到,使用VS为给定的xml文件“生成平面文件的实例”是没有用的-它会生成一个文件,但会将xml元素名称用作数据。最好使用可在 D:\ Program Files(x86)\ Microsoft BizTalk Server 2016 \ SDK \ Utilities \ PipelineTools

中找到的FFAsm.exe

现在关闭此单元测试,以防再次出现错误。