Article - CS334684

"Error executing API request message, sending error response to caller!" is received in ApplicationLog.log multiple times when using Mashup with "Automatically update values when able" in ThingWorx

Modified: 10-Jan-2023   


Applies To

  • ThingWorx Platform 8.4 to 9.3 SP4

Description

  • When a Mashup is setup to use GetProperties service with Automatically update values when able a websocket is created between client browser and platform.
  • If this websocket get disconnected for some reason a new one will be created.
  • After this numerous messages of type Error executing API request message, sending error response to caller! are seen in ApplicationLog.log
  • If Stack Trace is enabled, the following can be seen in ErrorLog.log
 Error executing API request message, sending error response to caller! com.thingworx.communications.server.security.NotAuthorizedException: Unable to lookup security context because ThingWorx Session ID [XXXX] is no longer valid!
    at com.thingworx.communications.platform.security.ThingworxSessionCache.lookupSecurityContext(ThingworxSessionCache.java:104)
    at com.thingworx.communications.platform.modules.DispatchingServerCommunicationModule.processAPIRequestMessage(DispatchingServerCommunicationModule.java:389)
    at com.thingworx.communications.platform.modules.DispatchingServerCommunicationModule.process(DispatchingServerCommunicationModule.java:296)
    at com.thingworx.communications.server.endpoints.DispatchingServerEndpoint.messageReceived(DispatchingServerEndpoint.java:103)
    at com.thingworx.communications.server.connection.jsr356.AbstractServerConnection.onThingworxMessage(AbstractServerConnection.java:416)
    at com.thingworx.communications.server.connection.jsr356.AbstractServerConnection.onMessage(AbstractServerConnection.java:342)
    at sun.reflect.GeneratedMethodAccessor61.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.tomcat.websocket.pojo.PojoMessageHandlerWholeBase.onMessage(PojoMessageHandlerWholeBase.java:80)
    at org.apache.tomcat.websocket.WsFrameBase.sendMessageBinary(WsFrameBase.java:582)
    at org.apache.tomcat.websocket.server.WsFrameServer.sendMessageBinary(WsFrameServer.java:131)
    at org.apache.tomcat.websocket.WsFrameBase.processDataBinary(WsFrameBase.java:541)
    at org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:300)
    at org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:133)
    at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:82)
    at org.apache.tomcat.websocket.server.WsFrameServer.doOnDataAvailable(WsFrameServer.java:171)
    at org.apache.tomcat.websocket.server.WsFrameServer.notifyDataAvailable(WsFrameServer.java:151)
    at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:148)
    at org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:54)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:53)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:860)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1589)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:748)
This is a printer-friendly version of Article 334684 and may be out of date. For the latest version click CS334684