Article - CS245117

How to configure a secure WebSocket connection between Integrity Lifecycle Manager and ThingWorx for PTC Navigate Manage Traces

Modified: 09-Mar-2018   


Applies To

  • PTC RV&S (formerly Integrity Lifecycle Manager) 10.9 to 11.1
  • PTC Navigate Manage Traces 1.0

Description

  • How to configure WebSocket SSL between Integrity and ThingWorx for use with ILM Navigate Manage Traces using a Self-Signed Certificate
  • Error when viewing Integrity External Reference (IER) field data in Integrity when having Manage Traces installed
  • IER field times out when trying to connect to ThingWorx from Integrity
  • Integrity Server is recording an SSL handshake issue when connecting to ThingWorx
  • When attempting to view the IER field in Integrity the Integrity Server log produces the following error:
    • [DATE_TIME] ERROR [mksis.IntegrityServer] * * * * ERROR * * * * (10): Refilling connections on [endpoint 1, uri: wss://<THINGWORX_HOST>:<PORT_NUMBER/Thingworx/WS] failed : timeout waiting for websocket handshake to complete
      [DATE_TIME] ERROR [mksis.IntegrityServer] * * * * ERROR * * * * (0): com.thingworx.communications.client.ConnectionException -- com.thingworx.communications.client.ConnectionException: Client is not connected
          at com.thingworx.communications.client.BaseClient.checkConnection(BaseClient.java:337)
          at mks.frame.thingworx.IntegrityConnectedThingClient.createTWXClient(IntegrityConnectedThingClient.java:154)
          at mks.frame.thingworx.IntegrityConnectedThingClient.getInstance(IntegrityConnectedThingClient.java:85)
          at mks.ci.server.engine.EngineIER.populateIERFieldValues(EngineIER.java:114)
          at mks.ci.server.engine.EngineSQL.handleIERFields(EngineSQL.java:16265)
          at mks.ci.server.engine.EngineSQL.getIssues(EngineSQL.java:16220)
          at mks.ci.server.engine.EngineSQL.getIssues(EngineSQL.java:16163)
          at mks.ci.server.engine.EngineSQL.getIssues(EngineSQL.java:16127)
          at mks.ci.server.AgentImpl.getIssues(AgentImpl.java:2218)
          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:497)
          at org.sapia.ubik.rmi.server.invocation.InvokeCommand.execute(InvokeCommand.java:185)
          at mks.ubik.transport.mks.MksServer$1.call(MksServer.java:52)
          at mks.ubik.transport.mks.RmiInvocationAction.call(RmiInvocationAction.java:162)
          at mks.ubik.transport.mks.MksServer.executeCommand(MksServer.java:69)
          at mks.ubik.transport.beep.BeepServer$1.call(BeepServer.java:276)
          at mks.ubik.transport.beep.BeepServer$1.call(BeepServer.java:273)
          at mks.ubik.transport.mks.RmiInvocationAction.call(RmiInvocationAction.java:162)
          at mks.rmi.RmiAuthenticationHandler$1.run(RmiAuthenticationHandler.java:94)
          at java.security.AccessController.doPrivileged(Native Method)
          at javax.security.auth.Subject.doAs(Subject.java:422)
          at mks.rmi.RmiAuthenticationHandler.doAs(RmiAuthenticationHandler.java:99)
          at mks.ubik.transport.mks.MksTransportProvider.doAs(MksTransportProvider.java:440)
          at mks.ubik.transport.beep.BeepTransportProvider.doAs(BeepTransportProvider.java:793)
          at mks.ubik.transport.beep.BeepServer.remoteExecuteCommand(BeepServer.java:292)
          at mks.ubik.transport.beep.BeepServer.handleCommandMessage(BeepServer.java:243)
          at mks.ubik.transport.beep.BeepServer.receiveMSG(BeepServer.java:148)
          at org.beepcore.beep.core.ChannelImpl.run(ChannelImpl.java:385)
          at mks.ubik.transport.mks.MksTransportProvider$WrappedRunnable.run(MksTransportProvider.java:899)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
          at java.lang.Thread.run(Thread.java:745)
This is a printer-friendly version of Article 245117 and may be out of date. For the latest version click CS245117