症状
发生此问题时,您可能会收到以下错误消息之一︰
-
适配器"SFTP"引发一条错误消息。详细信息"System.Exception︰ 消息︰ 读取错误打开远程文件...Sftp 错误代码:"3221488139"。Sftp 错误消息: 系统无法找到指定的文件。
'.---> Microsoft.BizTalk.Adapter.SftpInvoker.SftpException︰ 打开远程文件读取错误。
在 Microsoft.BizTalk.Adapter.SftpInvoker.SftpInvoker.OpenRemoteFileRead (字符串文件名)
在 Microsoft.BizTalk.Adapter.SftpInvoker.SftpFileReaderStream.Read (字节 [] 缓冲区,Int32 偏移 Int32 计数)
在 Microsoft.BizTalk.Adapter.Sftp.SftpFileReceiver.TryReceive (时间跨度的超时值,RequestContext & 上下文) -
适配器"SFTP"引发一条错误消息。详细信息"System.Exception︰ 消息︰ 删除文件错误...Sftp 错误代码:"3221488134"。Sftp 错误消息: 系统无法找到指定的文件。
'.---> Microsoft.BizTalk.Adapter.SftpInvoker.SftpException︰ 删除文件错误。
在 Microsoft.BizTalk.Adapter.SftpInvoker.SftpInvoker.DeleteRemoteFile (字符串文件名)
在 Microsoft.BizTalk.Adapter.Sftp.SftpFileReceiver.DownloadComplete (文件名字符串、 布尔型 deleteFile)
---内部异常的堆栈跟踪---结束
在 Microsoft.BizTalk.Adapter.Sftp.SftpFileReceiver.DownloadComplete (文件名字符串、 布尔型 deleteFile)
在 Microsoft.BizTalk.Adapter.Sftp.SftpRequestContext.Reply (消息消息,时间跨度超时)
在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.Reply (MessageRpc & rpc)"。
注意:错误代码"3221488139"等于0xC004020B;错误代码为"3221488134"等于0xC0040206。
在 Microsoft BizTalk Server 2013年和 BizTalk Server 2013 R2 中发生此问题。
原因
此问题出现的原因是在目录列表 (ls),SFTP 适配器 (SFTP 客户端) 发送SSH_FXP_OPENDIR数据包,并且期望根据 SFTP 版本 3 的SSH_FXP_HANDLE数据包。但某些服务器,例如,基于 Maverick 的服务器,发送回SSH_FXP_STATUS (出错) 数据包。SFTP 服务器需要可选的SSH_FXP_REALPATH数据包之前 OpenDir 数据包。
解决方案
累积更新信息
第一次 BizTalk Server 以下累积更新中修复此问题︰
状态
Microsoft 已经确认这是“适用于”一节中列出的 Microsoft 产品中的问题。
参考资料
信息服务包和累积更新列表 BizTalk Server,请参阅KB 2555976︰ 为 BizTalk Server 服务包和累积更新列表。
BizTalk Server 修补程序有关的详细信息,请参阅KB 2003907: BizTalk 修补程序以及累积的信息更新支持。