调用WebApi一段时间后提示会话丢失或者N001

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:3

调用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接口,未引用组件集成星空


解决方法:

 http://XXX.XXX.XXX.XXX/k3cloud/Kingdee.BOS.ServiceFacade.ServicesStub.ClienterService.GetServerCommonConfig.common.kdsvc  

调用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

      【问题描述】用户升级产品到8.2后,调用webApi一段时间后,提示 “会话信息已丢失,请重新登录”或者 “N001: The request has been...
      点击下载文档
      确认删除?
      回到顶部
      客服QQ
      • 客服QQ点击这里给我发消息