关于构建biztalk应用程序的警告:'验证对组件的调用' Flat File Disassembler'失败

时间:2014-04-26 21:16:13

标签: biztalk pipeline

所以,Biztalk的新手在这里,我正试图让一个工作的样品过程一起拍打。我将要使用的几乎所有文件都作为原始TXT平面文件进入,并且我已经通过平面文件架构向导走了其中一个以使自己成为一个良好的可靠模式。我还将我想要的消毒数据的XML版本放在一起并将两者映射在一起。只要我努力做到这一点,Biztalk似乎没有任何问题。

但是,当我使用平面文件反汇编程序组件添加接收管道并将Document Schema设置为我之前定义的平面文件架构时,我在Visual Studio中的构建时收到以下警告:

Visual Studio 2012\Projects\Sample EDI Process 2\Sample EDI Process 2\ReceiveFFPipe.btp : warning BTP0008: Validate call on component 'Flat file disassembler' failed.

起初我只是忽略它,因为它只是一个警告,但是尝试在我的部署环境中的端口上使用Pipe会提示它挂起调用它的每个实例,并出现以下错误:

A message received by adapter "FILE" on receive location "Receive Location1" with URI "C:\Sample EDI Folder\*.txt" is suspended. 
Error details: There was a failure executing the receive pipeline: "Sample_EDI_Process_2.ReceiveFFPipe, Sample EDI Process 2, Version=1.0.0.0, Culture=neutral, PublicKeyToken=eedeea09943f22ae" Source: "Unknown " Receive Port: "ReceivePort1" URI: "C:\Sample EDI Folder\*.txt" Reason: Failed to get pipeline: Sample_EDI_Process.ReceiveFFPipe, Sample EDI Process 2, Version=1.0.0.0, Culture=neutral, PublicKeyToken=eedeea09943f22ae. Please verify that the pipeline strong name is correct and that the pipeline assembly is in the GAC.  

请原谅可怕的命名惯例,我只是想获得概念证明。

无论如何,我正在我的本地机器上编写我的代码并将其部署到另一台机器上,并假设可能是构建版本搞乱了,因为解决方案程序集不在我的本地GAC中并且没有选择平面文件架构模式起来。但是,使用gacutil将其安装在我的机器上似乎也无法解决任何问题。我可以在Biztalk管理控制台中看到管道。它在部署时实际上不会产生错误,只是一个警告。我已经将我的解决方案设置为始终重新部署并始终安装到GAC。而且我在biztalk虚拟实验室中执行这些操作没有遇到任何问题。我甚至尝试完全放弃解决方案,从头开始制作另一个,没有骰子。

另外,虽然我没有运行Biztalk的本地实例,但我确实在本地计算机上安装了它。我只是将解决方案部署在其他地方。

如果您有任何帮助,我将非常感激。

1 个答案:

答案 0 :(得分:0)

验证失败有几个原因,包括:

  1. 架构不是平面文件架构
  2. 无法解析完全限定名称(如果它在引用程序集中,您可能已重建,然后关闭并打开Visual Studio)
  3. 您无法忽略此错误,否则项目将无法生成。

    第二个意味着无法解析类型名称(完全限定的.Net类型名称)。具有管道和架构的程序集必须位于运行时计算机上的GAC中。在BizTalk Administrator中添加资源时,必须在添加资源"上显式检查"添加到全局程序集缓存。

    但是,我强烈建议你不要追求这条道路。您将发现没有BizTalk Server的本地实例(完整堆栈,包括主机实例)开发BizTalk应用程序令人沮丧地无效。部署不支持到远程计算机,这是最重要的因素。是的,它可用,似乎可以做某事,但它不起作用。