低开流程引擎事件里调用同一个EOS服务,两个不同的触发时机,“活动启动后”能调成功,“工作项超时”后却报401错误

EOS服务调用401错误分析

问题描述:

低开流程引擎事件里调用同一个EOS服务,两个不同的触发时机,“活动启动后”能调成功,“工作项超时”后却报401错误,异常如下:

Caused by: com.primeton.workflow.api.WFServiceException: ErrCode: 21070016

Message: 执行应用调用发生异常:eosService

at com.primeton.workflow.engine.scheduler.application.impl.ToolAgentManager.executeApplication(ToolAgentManager.java:201) ~[bps-server-engine-scheduler-8.3.0.jar!/:na]

at com.primeton.workflow.engine.scheduler.application.impl.log.ApplicationLogAction.execute(ApplicationLogAction.java:69) ~[bps-server-engine-scheduler-8.3.0.jar!/:na]

at com.primeton.workflow.engine.scheduler.enginelog.EngineLogExecutor.executeAction(EngineLogExecutor.java:162) ~[bps-server-engine-log-8.3.0.jar!/:na]

at com.primeton.workflow.engine.scheduler.application.impl.ToolAgentManager.executeTriggerEvents(ToolAgentManager.java:169) ~[bps-server-engine-scheduler-8.3.0.jar!/:na]

... 24 common frames omitted

Caused by: org.springframework.web.client.HttpClientErrorException$Unauthorized: 401 : "{"currentTime":"2024-12-12T17:05:48.026+0800","currentUser":null,"reasonPhrase":"Unauthorized","errorLocalizedMessage":"会话无效或未登录","errorMessage":null,"errorStackTraces":null,"errorCode":"100304","hostPort":"IP:28084","errorLevel":0}"

at org.springframework.web.client.HttpClientErrorException.create(HttpClientErrorException.java:105) ~[spring-web-5.3.27.jar!/:5.3.27]

at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:168) ~[spring-web-5.3.27.jar!/:5.3.27]

at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:122) ~[spring-web-5.3.27.jar!/:5.3.27]

at com.primeton.eos.springboot.exception.EOS8RestTemplateErrorHandler.handleError(EOS8RestTemplateErrorHandler.java:26) ~[eos-server-springboot-8.3.0.jar!/:na]

at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:825) ~[spring-web-5.3.27.jar!/:5.3.27]

at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:783) ~[spring-web-5.3.27.jar!/:5.3.27]

at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:738) ~[spring-web-5.3.27.jar!/:5.3.27]

at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:618) ~[spring-web-5.3.27.jar!/:5.3.27]

at com.primeton.eos.eosservice.invoke.EOSServiceInvoker.invoke(EOSServiceInvoker.java:124) ~[eos-server-eosservice-8.3.0.jar!/:na]

at sun.reflect.GeneratedMethodAccessor965.invoke(Unknown Source) ~[na:na]

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_251]

at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_251]

at com.primeton.ext.system.method.LocalMethodCaller.call(LocalMethodCaller.java:187) ~[eos-ptp-common-method-8.3.0.jar!/:na]

at com.eos.system.method.MethodTemplate.callMethod(MethodTemplate.java:101) ~[eos-ptp-common-method-8.3.0.jar!/:na]

at com.eos.system.method.MethodTemplate.callMethod(MethodTemplate.java:152) ~[eos-ptp-common-method-8.3.0.jar!/:na]

at com.primeton.ext.common.transaction.TransactionalMethodTemplate.callMethodJoinTransaction(TransactionalMethodTemplate.java:90) ~[eos-ptp-jdbc-transaction-8.3.0.jar!/:na]

at com.primeton.workflow.service.application.invoke.impl.SynchronizeRunner.execute(SynchronizeRunner.java:340) ~[bps-server-service-application-8.3.0.jar!/:na]

at com.primeton.workflow.service.application.invoke.impl.SynchronizeRunner.run(SynchronizeRunner.java:260) ~[bps-server-service-application-8.3.0.jar!/:na]

at com.primeton.workflow.service.application.invoke.impl.XRestServiceWFInvoker.invoke(XRestServiceWFInvoker.java:140) ~[bps-server-service-application-8.3.0.jar!/:na]

at com.primeton.workflow.service.application.invoke.impl.XRestServiceWFInvoker.invoke(XRestServiceWFInvoker.java:44) ~[bps-server-service-application-8.3.0.jar!/:na]

at com.primeton.workflow.service.application.impl.ApplicationCaller$1.run(ApplicationCaller.java:253) ~[bps-server-service-application-8.3.0.jar!/:na]

at com.primeton.ext.common.muo.MUOTemplate.execute(MUOTemplate.java:58) [eos-ptp-datacontext-muo-8.3.0.jar!/:na]

at com.primeton.workflow.service.application.impl.ApplicationCaller.doInvoke(ApplicationCaller.java:251) ~[bps-server-service-application-8.3.0.jar!/:na]

at com.primeton.workflow.service.application.impl.ApplicationCaller.handleInvoke(ApplicationCaller.java:228) ~[bps-server-service-application-8.3.0.jar!/:na]

at com.primeton.workflow.engine.scheduler.application.impl.ToolAgentManager.executeApplication(ToolAgentManager.java:199) ~[bps-server-engine-scheduler-8.3.0.jar!/:na]

... 27 common frames omitted

解决方案:

传authorization或者把逻辑流加到白名单里,因为工作项超时后是定时任务做的,和流程任务不在一个进程里,拿不到token,所以报401

白名单加到server\afcenter\config\AFCENTER\config\user-config.xml Login-Filter Exclude里

更多请参见EOS Low-Code Platform 8

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值