调用WebApi一段时间后提示会话丢失或者N001
【问题描述】
用户升级产品到8.2后,调用webApi一段时间后,提示 “会话信息已丢失,请重新登录”或者 “N001: The request has been rejected!”
403 Forbidden ByRspRetStatusCode -- N001: The request has been rejected!
{"Result":{"ResponseStatus":{"ErrorCode":500,"IsSuccess":false,"Errors":[{"FieldName":null,"Message":"会话信息已丢失,请重新登录","DIndex":0}],"SuccessEntitys":[],"SuccessMessages":[],"MsgCode":1}}}
【场景介绍】
业务场景及原因分析:
用户调用WebApi登录后,正常调用业务接口进行数据交互,可以正常操作,但是过一段时间后,再次调用业务接口操作时提示会话丢失或者N001:The request has been rejected! 请求被拒绝,原因为长时间没有网络请求后,星空服务器IIS会释放20min未请求的会话,再次调用时无法正常获取到上下文
【解决方案】
出现这样的提示是由于长时间未调用导致IIS释放了会话,只需要定时请求会话即可正常保持会话:
一. 场景介绍
场景一:
使用SDK或者引用星空组件二开集成WebApi
场景二:
直接调用WebApi接口,未引用组件集成星空
二. 排除及解决步骤
场景一说明:
使用SDK或者引用星空组件二开集成WebApi
解决方法:
ClienterServiceProxy proxy = new ClienterServiceProxy();
proxy.HostURL="https://xxx.ik3cloud.com/k3cloud";//金蝶云星空服务器地址
string sresult=proxy.GetServerCommonConfig( ServiceFacade.KDServiceEntity.ClickOnceType.CloudClient);
调用commonConfig参数,每五分钟做一次,这样就可以保持登录会话
场景二说明:
直接调用WebApi接口,未引用组件集成星空
解决方法:
调用commonConfig参数,每五分钟做一次,这样就可以保持登录会话
只要确保,有定时去调用星空站点,就可以保持会话在线,不会提示会话丢失
延伸阅读】
星空OpenAPI SDK 使用方法
https://vip.kingdee.com/knowledge/specialDetail/229961573895771136?productLineId=1&lang=zh-CN
“会话信息已丢失,请重新登录”错误分析与解决方案
https://vip.kingdee.com/article/373492240762384384?productLineId=1&isKnowledge=2&lang=zh-CN
403 Forbidden ByRspRetStatusCode -- N001报错原因分析及解决方案
https://vip.kingdee.com/article/537229068014729216?productLineId=1&isKnowledge=2&lang=zh-CN
调用WebApi一段时间后提示会话丢失或者N001
本文2024-09-23 01:25:13发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-145809.html