☰
Current Page
Main Menu
Home
Home
Editing
当前上下文token内容为空,不支持远程调用!
Edit
Preview
h1
h2
h3
default
Set your preferred keybinding
default
vim
emacs
markdown
Set this page's format to
AsciiDoc
Creole
Markdown
MediaWiki
Org-mode
Plain Text
RDoc
Textile
Rendering unavailable for
BibTeX
Pod
reStructuredText
Help 1
Help 1
Help 1
Help 2
Help 3
Help 4
Help 5
Help 6
Help 7
Help 8
Autosaved text is available. Click the button to restore it.
Restore Text
# 当前上下文token内容为空,不支持远程调用! ``` 2024-07-25 10:51:14.911[alarm-1-thread-2]ERROR mesLog -企业微信推送失败:当前上下文token内容为空,不支持远程调用! com.sie.snest.engine.exception.ModelException:当前上下文token内容为空,不支持远程调用! at com.sie.snest.engine.model.MethodMeta.invoke(MethodMeta.java:190) at com.sie.snest.engine.api.distributed.RpcInvocation.invoke(RpcInvocation.java:184) at com.sie.snest.engine.data.Recordset.call(Recordset.java:295) at com.sie.pip.mes.alarm.service.AlarmwebSocketclientHandlerService.sendMes(AlarmwebSocketclientHandlerService.java:1219) at com.sie.pip.mes.alarm.service.AlarmwebSocketclientHandlerService.lambda$getUserPushProcessings$16(AlarmwebSocketclientHandlerService.java:1106) at com.sie.pip.mes.common.utils.ThreadPoolUtil.lambda$executeSo$0(ThreadPoolUtil.java:50) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by:com.sie.snest.engine.exception.CallException:当前上下文token内容为空,不支持远程调用! at com.sie.snest.engine.api.distributed.RpcInvocation.getToken(RpcInvocation.java:64) at com.sie.snest.engine.api.distributed.RpcInvocation.getHeaderAndBody(RpcInvocation.java:51) at com.sie.snest.engine.api.distributed.RpcInvocation.invoke(RpcInvocation.java:125) at com.sie.snest.engine.data.Recordset.call(Recordset.java:295) at com.sie.snest.engine.data.Recordset.search(Recordset.java:185) at com.sie.pip.mes.qywx.service.MobileSenderService.obtainChannelInfo(MobileSenderService.java:217) at com.sie.pip.mes.qywx.service.MobileSenderService.sender(MobileSenderService.java:65) at com.sie.pip.mes.qywx.service.MobileSenderService$$EnhancerByCGLIB$$93162c76.CGLIB$sender$0(<generated>) at com.sie.pip.mes.qywx.service.MobileSenderService$$EnhancerByCGLIB$$93162c76$$FastClassByCGLIB$$93a581f.invoke(<generated>) at net.sf.cglib.proxy.MethodProxy.invokesuper(MethodProxy.java:228) at com.sie.snest.engine.model.ModelInterceptor.intercept(ModelInterceptor.java:84) at com.sie.pip.mes.qywx.service.MobileSenderService$$EnhancerByCGLIB$$93162c76.sender(<generated>) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.sie.snest.engine.model.MethodMeta.execute(MethodMeta.java:226) at com.sie.snest.engine.model.MethodMeta.invoke(MethodMeta.java:179) ``` ## 解决方案 检查如下示例代码: ``` try (Meta meta1 = new Meta(null, new HashMap<>())){ } ``` new HashMap() 需要调整如下所示: ``` try (Meta meta1 = new Meta(null, BaseContextHandler.getMeta().getContext())){ } ``` ## 为什么需要自己new Meta() 场景1 : 服务是异步的情况,不是通过页面的API接口,以及启动事件触发! 平台提供了执行异步服务 示例代码如下所示: ``` @MethodService(description = "发送消息") public void sendMsg(RecordSet rs){ rs.callAsync("openWebSocket", 9999 ); } @MethodService(description = "打开websocket端口") public void openWebSocket(int port){ } ``` 场景2: 消费事件执行服务的情况! 异步服务并不是通过引擎触发,提供如下代码所示: BaseContextHandler.getMeta().getContext() 需要把同步的数据传递给新创建的Meta类。 如果实在没有,可以通过查库获取token内容。 ``` try (Meta meta1 = new Meta(null, BaseContextHandler.getMeta().getContext())){ } ```
Uploading file...
Sidebar
[[_TOC_]]
Edit message:
Cancel