我在BizTalk 2016实例上通过轮询连接到SFTP站点时出现SFTP接收端口出现以下错误:
消息传递引擎未能将具有URL“ sftp://我们的源服务器:22 / Live / Pickup / Exports / 。”的接收位置“ OURPORTNAME”添加到适配器“ SFTP”。原因:“ WinSCP.SessionLocalException:解析会话日志文件---> System.Xml.XmlException时出错:根元素丢失。 在WinSCP.SessionLogReader.DoRead()处System.Xml.XmlTextReaderImpl.Read()处System.Xml.XmlTextReaderImpl.ParseDocumentContent()处System.Xml.XmlTextReaderImpl.Throw(Exception e)
在WinSCP站点上,看起来与此版本的BizTalk绑定的WinSCP版本可能会出现此错误。
BT2016随附的WinSCP版本是:
文件版本:1.5.4.8265 产品版本:5.13.1.0
我尝试将WinSCP程序集和EXE的新版本5.13.6(1.5.6.9061)复制到BizTalk安装文件夹中,并按照以下说明更新了Biztalk 32和64位配置文件( BTSNTSvc.exe.config)重定向到此新版本的WinSCP:
Microsoft BizTalk SFTP Adapter
(请参阅“使用更新的WinSCP版本”)
因此在64位和32位配置中,我都有:
<bindingRedirect oldVersion="1.5.4.8265" newVersion="1.5.6.9061" />
在编辑并重启主机实例后,我从事件日志中的SFTP端口获取了此信息:
邮件引擎无法添加接收位置“ OURPORTNAME” 网址为“ sftp://我们的源服务器:22 / Live / Pickup / Exports / 。” 适配器“ SFTP”。原因:“ WinSCP.SessionRemoteException:网络 错误:软件导致WinSCP.ElementLogReader.Read(LogReadFlags标志)处WinSCP.SessionLogReader.Read(LogReadFlags标志)处的连接终止
关于什么原因的任何想法?
答案 0 :(得分:0)
此问题已在WinSCP 5.13.2中修复:
Bug 1619 – Failure when .NET assembly starts reading an XML log file in a short moment when it's empty yet
对于较新版本的WinSCP所遇到的问题,请考虑发布新问题,并且不要忘记包含会话日志文件(Session.SessionLogPath
)。
答案 1 :(得分:0)
事实证明,升级后存在防火墙/连接性问题,使它无法在我们的测试环境中运行。