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

Biztalk 无法读取管道生成的流-参数名称:format,biztalk,biztalk-2016,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复制到一个测试文件中。然

我有一个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平面文件汇编程序组件)上,我使用所需的schematypename、assemblystrongname填充为“DocumentSpecName”属性。这实际上不是必需的,因为BizTalk能够从提升的名称空间#rootnode确定架构,所以我尝试在未设置属性的情况下确定架构,但仍然得到相同的结果

可能有多种情况会导致此错误

  • 该模式实际上不是平面文件模式(但您已经检查过了),请参阅
  • 它是一个固定长度的架构,缺少一个必填字段(请参阅),并通过强制从源架构创建可选元素来解决

  • 我担心这是一个在我不知道如何解决的问题。这个问题已经让我发疯好几个小时了,所以我回到了基础上,在不同的开发虚拟机上创建了一个新的解决方案-它成功了!所以,我回到我的主开发虚拟机,问题不再存在了。现在我不相信魔法,所以我肯定我已经改变了一些东西,但我已经改变了因为我试图通过干预输入文件和平面文件模式来重新创建错误,但我一直无法

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


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

    昨天只需解决相同的问题,尝试用另一个管道替换管道,然后应用并切换回正确的管道。测试。
    希望这对您有所帮助。

    谢谢您的回答Colin,我真的很感激。在我阅读您的答案之前,问题实际上已经解决了,但我返回了问题,以查看第2点是否可能是问题的原因。我删除了一些用于输出平面文件的数据,但这并没有导致任何错误有趣的是,您遇到了相同的p在不知道确切原因的情况下解决了这个问题。我也有过同样的经历——最糟糕的错误!我也经历过这种行为。我会尽快使用BizTalk部署框架来避免任何形式的手动处理(同时,它的“GAC项目手动输出”功能有时也很有用!)。但是,使用管道组件时,工具栏(Visual Studio)需要在编译并添加更新版本后重新启动。否则可能会出现此类问题。。。