“会话信息已丢失,请重新登录”错误分析与解决方案

问题描述:
通过SDK调用金蝶云星空API,程序报错提示“会话信息丢失,请重新登录”。
原因分析:
客户所使用的第三方系统登录授权信息,在金蝶云星空产品端进行参数校验时,校验没有通过,返回会话信息已丢失,请重新登录的错误信息。
解决方案:
1、升级SDK为最新版本
前往OpenAPI网站的SDK中心下载最新版本的SDK>> 前往下载
2、检查配置文件
2.1 对比产品的第三方系统登录授权信息
确保配置文件的数据和第三方登录授权信息一一对应并且数据正确,如下图所示。

//第三方系统登录授权的账套ID <add key="X-KDApi-AcctID" value="5b3de0*******"/> //服务Url地址 (私有云和公有云都须配置金蝶云星空产品地址,K3Cloud/结尾) <add key="X-KDApi-ServerUrl" value="http://bj1-api.kingdee.com/galaxyapi/"/> //第三方系统登录授权的应用ID <add key="X-KDApi-AppID" value="202655_6f0vR+lH************************"/> //第三方系统登录授权的应用密钥 <add key="X-KDApi-AppSec" value="b52d7fae9********************"/> //第三方系统登录授权的用户 <add key="X-KDApi-UserName" value="webapi"/> //账套语系,默认2052 <add key="X-KDApi-LCID" value="2052"/> |
特别说明:
补丁版本为PT-146894 [7.7.0.202111]之前
第三方登录授权的集成用户必填某一用户,并且配置文件的X-KDApi-UserName的值也要为该用户。
补丁版本为PT-146894 [7.7.0.202111]及之后
如果勾选允许全部用户登录,则X-KDApi-UserName可以为用户列表的任一用户。
如果没有勾选,则X-KDApi-UserName需要在指定用户登录列表中。
2.2 检查配置文件是否被正确读取
配置文件是否被正确读取,可以在代码调试时对生成的K3CloudApi对象检查得知。
如果发现数据和配置文件中的数据不符,可能是由于:
①配置文件的存放位置不正确
以java语言的sdk8.0.3版本为例,其文件位置读取逻辑为:最优先在项目根目录下查找kdwebapi.properties文件,如果找不到,则到资源文件目录下查找kdwebapi.properties文件。
解决配置文件存放位置问题的方法:将配置文件放到项目根目录下。
②配置文件的字符编码不正确
如果集成用户名称中含有中文名,则配置文件的字符编码必须是utf-8。
如果Java语言的sdk版本为7.9.2,则需要升级到8.0.3版本或以上才可解决该问题。
3、查看cloud日志错误信息
3.1 获取cloud日志
3.1.1 私有云客户(自有服务器搭建金蝶云星空产品) 获取cloud日志
步骤1:联系客户公司IT人员确认并登录到部署安装金蝶云星空产品的服务器。
步骤2:打开IIS查找日志信息
鼠标点击K3Cloud节点,右键选中浏览,进入到文件路径中,查看日志信息。
示例中的文件路径为:D:\Program Files (x86)\Kingdee\K3Cloud\WebSite\App_Data\Log
注意:真实路径以客户环境为准。
3.1.2 公有云客户(订阅金蝶云星空)获取cloud日志
运维提单获取云服务近期日志信息
详细操作指南:https://vip.kingdee.com/article/153972738560668928
3.2 从日志中查找对应错误信息
3.2.1 根据日志查询WebApi信息
打开日志进行搜索关键字WebApiModule,如果查询到则可以初步判断,用户通过SDK与金蝶云星空产品之间有数据交换,则进一步分析问题。

如果查找不到,则有以下可能:
①私有云客户没有开启webapi日志,因此不会记录webapi请求的错误信息。
webapi日志开启方法:https://vip.kingdee.com/knowledge
“会话信息已丢失,请重新登录”错误分析与解决方案
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



