欢迎使用普元产品知识库,本知识库包含普元应用开发平台EOSPlatform,流程平台BPS,企业服务总线ESB,微服务平台Microservice,运维管理平台Devops,数据集成平台DI
欢迎使用普元文档库
自定义组织机构实现类,确认通知,报错:
ErrCode: 21000000
Message: NULL
at com.primeton.workflow.api.proxy.EngineTxAction.doOperator(EngineTxAction.java:296)
at com.primeton.workflow.api.proxy.EngineTxAction.execute(EngineTxAction.java:257)
at com.primeton.workflow.engine.scheduler.enginelog.EngineLogExecutor.executeAction(EngineLogExecutor.java:153)
......
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at com.primeton.workflow.service.organization.util.ParticipantConstUtil.getGlobalWFParticipantID(ParticipantConstUtil.java:153)
at com.primeton.workflow.notification.impl.NotificationManager.checkPermission(NotificationManager.java:376)
at com.primeton.workflow.notification.impl.NotificationManager.confirmNotification(NotificationManager.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.primeton.workflow.api.proxy.EngineTxAction.operatorImplement(EngineTxAction.java:415)
at com.primeton.workflow.api.proxy.EngineTxAction.doOperator(EngineTxAction.java:270)
... 65 more
排查发现:查询待办、通知等情况还是读取的默认用户(比如tiger等),没有读取实际用户。所以在执行流程操作的时候传入的是实际用户ID,但是还是报用户没权限。
问题原因:自定义组织机构实现类中的getParticipantScope方法返回的参与者对象不正确,typecode没有值
详情:自定义组织机构实现类中的getParticipantScope方法,不是通过SQL语句来查询数据的,是通过rest接口来获取数据,经过跟踪调试发现rest接口返回的一个数据类型和其他不一样,最终导致参与者对象的id,name都有值,但是typecode没有值。