技术文章 - CS401148
在 ThingWorx Navigate 中使用 ODataConnector 执行自定义服务时出现“您的路线交换失败。资源错误 [读取超时]”
已修改: 03-Jan-2025
适用于
- Windchill Navigate (formerly ThingWorx Navigate) 9.3 to 9.6
- ThingWorx Platform 9.3 to 9.6
说明
- 无法执行自定义服务,错误为 ODataConnector读取超时,如下面的屏幕截图所示:
Your route exchange has failed. Resource Error [Read timed out]
- 集成运行时服务报告以下错误:
ERROR c.t.i.r.IntegrationEngine - Exchange process failed with exception thrown : Your route exchange has failed. Resource Error [Read timed out] java.lang.RuntimeException: Your route exchange has failed. Resource Error [Read timed out] at com.twx.integration.route.exceptions.ExceptionHelper.convertToRuntimeException(ExceptionHelper.java:77) at com.twx.integration.route.IntegrationEngine.dispatchRoute(IntegrationEngine.java:164) at com.twx.integration.client.things.IntegrationRuntimeServer.Invoke(IntegrationRuntimeServer.java:72) at jdk.internal.reflect.GeneratedMethodAccessor133.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at com.thingworx.common.processors.ReflectionProcessor.processService(ReflectionProcessor.java:230) at com.thingworx.communications.client.things.VirtualThing.invokeService(VirtualThing.java:1126) at com.thingworx.communications.client.things.VirtualThing.handleServiceRequest(VirtualThing.java:1034) at com.thingworx.communications.client.ConnectedThingClient.handleRequest(ConnectedThingClient.java:315) at com.thingworx.communications.client.processor.ClientProcessorTask.run(ClientProcessorTask.java:55) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829)
- WSCommunicationsSubsystem 的空闲连接超时设置为 300 秒(5 分钟)
- integrationRuntime-settings.json中未设置OutboundTimeout,因此默认为 30 秒
- 在执行服务时,路由交换失败,导致读取超时错误
这是文章 401148 的 PDF 版本,可能已过期。最新版本 CS401148