ThingWorx Connection Server > Troubleshooting
Troubleshooting
The following table lists several common issues. It describes the messages that appear to indicate the cause and suggests solutions.
Issue
Cause
Solution
Client receiving authentication requests for each resource requested
Cause: Cookies are used, and there is a mix of HTTP and HTTPS in the configuration. ThingWorx returns a cookie with the Secure flag specified, meaning the cookie is only used for HTTPS requests. When the client makes non-secure HTTP requests to the Connection Server, the client does not send the cookie. The ThingWorx Platform receives the next request without a cookie and without credentials, so it sends back a 401 response. This happens for each request from the client
Solution: Always use HTTPS when sending requests through the Connection Server to the ThingWorx Platform.
Failed to Start - Port is in Use
If another service, or another instance of Connection Server is already running on the port that you defined in the protocol.port property, you will see a large stack trace upon startup with the message:
Caused by: java.net.BindException: Address already in use ...
Caused by: java.io.IOException: Keystore was tampered with, or password was incorrect...
Caused by: java.security.UnrecoverableKeyException: Password verification failed
Change the protocol.port property to a port that is not in use. Note that the default is port 8080.
Change the health-check.port property to a port that is not in use. Note that the default is port 9009.
Failed to Start – Keystore Password
Upon startup, when using TLS, the system terminates with a long stack trace containing the following error messages: ERROR c.t.c.ConnectionServer - Unable to start ConnectionServer
Check that the protocol.undertow.ssl.keystore.password property is set to the password that is used by the keystore defined by the protocol.undertow.ssl.keystore.file property.
Failed to Start - Bad ThingWorx Endpoint
Upon startup, the system hangs with either of these two exceptions:
ERROR c.t.f.i.AbstractManyPlatformWebSocketFabric - Failure while connecting to platform: endpoint=wss://<yourhost>:<yourport>/Thingworx/WS
ERROR c.t.s.i.t.netty.NettyBytesChannel - Error while establishing WebSocket connection on channel com.thingworx.sdk.impl.transport.netty.NettyBytesChannel$2@5dd7e3e6.java.nio.channels.UnresolvedAddressException: null
Make sure that the ThingWorx Platform is running as you expect at the host and port defined in the transport.websockets.platforms property.
Try hitting the http/https endpoint with a browser. If not available, start up the ThingWorx Platform.
Failed to Start – Wrong Protocol Used
Upon startup, the system, repeatedly throws the following error in a stack trace:
WARN c.t.s.i.t.netty.NettyChannelHandler - [ClientHandler: 2001739664] SSLHandshake Exception, websocket not created: io.netty.handler.ssl.NotSslRecordException: not an SSL/TLS record: ###################’s…
Check the property, transport.websockets.platforms, to see if it specifies ws://. If the ThingWorx platform is running TLS, change the property value to start with wss://.
Failed to Start – Wrong Protocol Used
During runtime, the system throws errors:
WARN c.t.s.i.t.netty.NettyChannelHandler - [ClientHandler: 2001739664] SSLHandshake Exception, websocket not created:io.netty.handler.ssl.NotSslRecordException: not an SSL/TLS record: ###################’s…
The property, transport.websockets.platforms, specifies a wss:// endpoint, but the ThingWorx Platform is not actually running TLS. Change the property value to start with ws://, or specify a different, secure endpoint.
After a restart, the Connection Server bind fails.
After a restart in a ThingWorx High Availability Clustering deployment, the ThingWorx Platform may take up to 2 or 3 minutes to bind the Connection Server. For v.9.0.0, the default bind retry setting is every 15 seconds until it succeeds.
The following messages appear in the Connection Server log if a bind fails:

2020-04-11 14:49:20,770 [cxthing-bind-0] INFO c.t.c.CXThingBindStateListener -
Binding connection server name=cxserver1 to thing template=ConnectionServer
2020-04-11 14:49:20,803 [cxthing-bind-0] WARN c.t.c.CXThingBindStateListener -
Failed to bind ConnectionServer thing: name=cxserver1, template=ConnectionServer,
code=STATUS_INTERNAL_ERROR, message=Error trying to process message:
Binding failed, see server log for more information V1BindMessage
[header=V1MessageHeader [messageType=10, requestId=16, endpointId=-1717057734,
sessionId=-1, flags=0], gatewayName=cxserver1, gatewayType=ConnectionServer,
names=[cxserver1]]. Retrying bind in 15s
When the bind finally succeeds, the following messages appear in the Connection Server log:

019-12-11 14:51:50,986 [cxthing-bind-0] INFO c.t.c.CXThingBindStateListener -
Binding connection server name=cxserver1 to thing template=ConnectionServer
2019-12-11 14:51:51,048 [cxthing-bind-0] INFO c.t.c.CXThingBindStateListener -
Successfully bound ConnectionServer thing: name=cxserver1, template=ConnectionServer
Was this helpful?