客户端报错 问题汇总(持续整理)原创
金蝶云社区-Webb
Webb
11人赞赏了该文章 2,563次浏览 未经作者许可,禁止转载编辑于2021年03月16日 10:49:42
summary-icon摘要由AI智能服务提供

本文主要讨论了与引导程序无关的客户端报错问题及解决方法。包括缓存文件误删、网络chunked模式不支持、单点登录问题、SSL/TLS通道创建失败、客户端崩溃及manifest文件下载错误等六个问题,针对每个问题提供了详细的原因分析和相应的解决方案。

前提:此文章主要是针对与引导程序无关的客户端报错问题,为方便快速定位和解决问题,可先查看另一篇文章(快速链接)是否为引导程序的问题


------------------------------------------------------------------------------------------------------------------------

  • 问题一:“检测到异常,可能引发严重错误,是否继续操作?”的“更多”信息中,包含“get_InternetCacheFolder()”信息

image.png

原因分析:客户端的图片等缓存是基于IE浏览器的本地临时文件夹目录,若用户不小心删掉了该文件夹,则会出现此报错。

解决办法:打开本机的IE浏览器-Internet选项,按下图进行操作即可。

image.png


------------------------------------------------------------------------------------------------------------------------

  • 问题二:公司网络启用chunked模式(块传输)的情况下,网页访问正常,下载/打开客户端报错,提示“Get file len[***] is not Equals contentlength[-1]...”

image.png

原因分析:下载/打开客户端的起步机制是,尝试连接k3cloud站点服务器,然后请求对应客户端的manifest文件(可参考另一篇文章快速链接),先获取manifest文件大小,再下载该文件,对比之后再决定是否需要下载manifest中所列出的客户端组件;但是,网络环境为chunked模式时,则无法先获取manifest文件大小,从而会出现截图中“contentlength[-1]”的字样(也说明我们客户端对于chunked模式的不支持,这一点我们后续会完善,但这不仅仅只是对引导程序下载机制的改动,也涉及到下载完成之后所有客户端的改造,工作量之大,希望各位理解)

解决办法:建议网络人员取消chunked模式,确保请求有正确的Content-length信息,我们的客户端才能正常下载和使用。(可使用Fiddler工具查看Transfer-Encoding字段,排查是否是chunked模式,示例如下图所示)

image.png


------------------------------------------------------------------------------------------------------------------------

  • 问题三:不少公司网络采用单点登录(即我们常说的SSO)时,网页能正常使用,但客户端无法使用,现象如下图Fiddler所抓的请求现象(重点是跳转到别的地址了,每个公司的都不一样)

    image.png

原因分析:以浏览器为例,单点登录的网络环境下,首次请求会自动跳转到公司的网络授权登录页,登陆成功后浏览器中会携带认证Cookie字段,之后再请求其他网页,网络检测到有该Cookie字段,就不再需要登录授权,所以网页能够正常使用;而客户端是没办法处理跳转登录页的,所以无法像浏览器同样处理。或许你会说,为什么不让客户端携带认证Cookie,那每次请求都能通过;不是每个公司采用的SSO认证机制是一样,我们的客户端是无法满足所有场景的认证机制

解决办法:公司网络对于我们客户端的请求链接统一进行放行,不走sso,也就不存在跳转了;而我们客户端的请求还是很好区分的,一般都包含“/k3cloud/clientbin/”的字符 ,所以,要麻烦网管啦……


------------------------------------------------------------------------------------------------------------------------

  • 问题四:部分https网络环境,从浏览器打开客户端正常,但桌面打开客户端报错(图1),或从http切换成https网络报错(图2),提示“请求被中止:未能创建SSL/TLS通道”

    image.png

    image.png

原因分析:先说图1——网页中打开客户端时携带有登录地址,从而也就知道了协议是http还是https,该次初始化网络协议时则正常使用,而桌面快捷方式打开没有登录地址,这种情况默认使用了http去初始化,结果就无法请求https的服务器(此Bug已于2020年4月初的补丁中修复);再说图2——打开完连接http服务器的客户端后,再手动切换服务器为https依然报错,因为我们依然用的时首次初始化的网络协议(同样已经在2020年4月初的补丁中修复)

解决办法:对于尚未更新的环境来说,遇到这种情况,建议从浏览器中打开客户端,或者从我们的引导程序门户(C:\Program Files (x86)\Kingdee\K3Cloud\DeskClient\Kingdee.BOS.DeskClient.Shell.exe)中打开客户端


-----------------------------------------------------------------------------------------------------------------------
  • 问题五:打开客户端会弹出“Kingdee.BOS.Client.exe已停止工作”崩溃,故障igdumdim64.dll_unloaded,关闭弹窗后客户端能够继续使用

    图片.png

原因分析:此问题是操作系统环境原因;igdumdim64.dll文件是INTEL核心显卡的驱动,一般是驱动未更新导致

解决办法:以win7为例,设备管理器下,右键Intel HD Graphics 4000 => “属性” => "驱动程序" => "更新驱动程序" 进行更新


-----------------------------------------------------------------------------------------------------------------------

  • 问题六:客户端添加失败,提示“请检查所输入的应用地址是否正确:XML文档......有错误”

image.png

原因分析:一般是由于无法下载客户端对应的manifest文件或下载的manifest文件内容异常导致

解决办法:首先确保站点正常访问,然后访问http://***/K3Cloud/ClientBin/K3CloudClient/K3CloudClient.maniefst,下载客户端的清单文件(不同客户端的清单文件可参考另一篇文章快速链接),看文件内容是否正确完整且无多余内容(参考下图对比)

image.png

赞 11