无法读取管道生成的流 - 参数名称:格式
Unable to read the stream produced by the pipeline - Parameter name: format
我有一个 BizTalk 2016 FP3 解决方案。使用向导,我为我的发送端口创建了一个平面文件模式,从 xml 到 assemble 到固定位置的文本文件。
当我 运行 通过 BizTalk 时,我得到一个挂起的实例,错误信息如下:
Unable to read the stream produced by the pipeline.
Details: Value cannot be null.
Parameter name: format
因此,我打开了暂停消息的消息选项卡并将 xml 复制到测试文件。然后我 运行 通过 ffasm.exe 工具,将路径作为 -bs 参数传递到我的平面文件模式 - 这个工具的输出是完美的,正是我所期望的平面文件内容。
在发送端口(仅包含 Microsoft 平面文件 assembler 组件),我已使用所需的 schematypename 填充为 "DocumentSpecName" 属性 ,assemblystrongname 。这并不是真正需要的,因为 BizTalk 能够从提升的 namespace#rootnode 确定架构,所以我尝试过不设置 属性 但仍然得到相同的结果。
似乎有多种情况会导致此错误。
- 该架构实际上不是平面文件架构(但您已经检查过了),请参见MSDN Unable to read the stream produced by the pipeline, Flat Send Pipeline
- 这是一个固定长度的模式,缺少一个必填字段(参见Error details: Unable to read the stream produced by the pipeline. Details: Cannot find definition for the input: {Record, Element, or Attribute} and also Flat file assembler通过强制从源模式创建可选元素来解决。
恐怕这是在我不知道如何修复的情况下修复的。这个问题让我抓狂了好几个小时,所以我回到基础并在不同的开发 VM 上创建了一个新的解决方案 - 它有效!所以,我回到了我的主要开发虚拟机,问题不再存在了。现在我不相信魔法,所以我确定我一定改变了一些东西,但我一直试图通过干预输入文件和平面文件模式来重现错误,但我一直没能做到。
我了解到,使用 VS 对给定 xml 文件的平面文件 "Generate Instance" 是无用的 - 它会生成一个文件,但使用 xml 元素名称作为数据。最好使用 D:\Program Files (x86)\Microsoft BizTalk Server 2016\SDK\Utilities\PipelineTools
中的 FFAsm.exe
现在关闭围绕此进行单元测试,以防错误再次出现。
昨天刚遇到同样的问题,尝试用另一个管道替换管道,应用然后切换回正确的管道。测试。
希望这对你有所帮助。
我有一个 BizTalk 2016 FP3 解决方案。使用向导,我为我的发送端口创建了一个平面文件模式,从 xml 到 assemble 到固定位置的文本文件。
当我 运行 通过 BizTalk 时,我得到一个挂起的实例,错误信息如下:
Unable to read the stream produced by the pipeline.
Details: Value cannot be null.
Parameter name: format
因此,我打开了暂停消息的消息选项卡并将 xml 复制到测试文件。然后我 运行 通过 ffasm.exe 工具,将路径作为 -bs 参数传递到我的平面文件模式 - 这个工具的输出是完美的,正是我所期望的平面文件内容。
在发送端口(仅包含 Microsoft 平面文件 assembler 组件),我已使用所需的 schematypename 填充为 "DocumentSpecName" 属性 ,assemblystrongname 。这并不是真正需要的,因为 BizTalk 能够从提升的 namespace#rootnode 确定架构,所以我尝试过不设置 属性 但仍然得到相同的结果。
似乎有多种情况会导致此错误。
- 该架构实际上不是平面文件架构(但您已经检查过了),请参见MSDN Unable to read the stream produced by the pipeline, Flat Send Pipeline
- 这是一个固定长度的模式,缺少一个必填字段(参见Error details: Unable to read the stream produced by the pipeline. Details: Cannot find definition for the input: {Record, Element, or Attribute} and also Flat file assembler通过强制从源模式创建可选元素来解决。
恐怕这是在我不知道如何修复的情况下修复的。这个问题让我抓狂了好几个小时,所以我回到基础并在不同的开发 VM 上创建了一个新的解决方案 - 它有效!所以,我回到了我的主要开发虚拟机,问题不再存在了。现在我不相信魔法,所以我确定我一定改变了一些东西,但我一直试图通过干预输入文件和平面文件模式来重现错误,但我一直没能做到。
我了解到,使用 VS 对给定 xml 文件的平面文件 "Generate Instance" 是无用的 - 它会生成一个文件,但使用 xml 元素名称作为数据。最好使用 D:\Program Files (x86)\Microsoft BizTalk Server 2016\SDK\Utilities\PipelineTools
中的 FFAsm.exe现在关闭围绕此进行单元测试,以防错误再次出现。
昨天刚遇到同样的问题,尝试用另一个管道替换管道,应用然后切换回正确的管道。测试。 希望这对你有所帮助。