Community Tip - Want the oppurtunity to discuss enhancements to PTC products? Join a working group! X
I have no problem connecting using port 8080 however I have tried multiple configurations and am not able to connect to tomcat using SSL.
(1) I have 2 ports open (8080 and 8443), although if I disconnect port 8080, it still does not work. Server.xml below:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector
port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true" sslProtocol="TLS"
keystoreFile="conf/tomcat.keystore" keystorePass="XXXXXXX"
clientAuth="false" truststoreFile="conf/truststore.jks" truststorePass="XXXXX">
</Connector>
(2) on the pi my config.json, this works:
{
"ws_servers": [{
"host": "192.168.20.37",
"port": 8080
}],
"appKey": "f109ecb5-9e2b-4215-8d3f-6479d5d6b9c1",
"certificates": {
"validate": false,
"allow_self_signed": true
},
"http_server": {
"host": "127.0.0.1",
"port": 9080
},
"logger": {
"level": "TRACE"
},
"auto_bind": [{
"name": "RedPi",
"gateway": false
}],
"certificates": {
"validate": false,
"allow_self_signed": true
},
"ws_connection": {
"encryption": "none",
"verbose": true,
"msg_timeout": 1000
}
}
-- THIS DOES NOT WORK
{
"ws_servers": [{
"host": "192.168.20.37",
"port": 8443
}],
"appKey": "f109ecb5-9e2b-4215-8d3f-6479d5d6b9c1",
"certificates": {
"validate": false,
"allow_self_signed": true
},
"http_server": {
"host": "127.0.0.1",
"port": 9080
},
"logger": {
"level": "TRACE"
},
"auto_bind": [{
"name": "RedPi",
"gateway": false
}],
"certificates": {
"validate": false,
"allow_self_signed": true
},
"ws_connection": {
"encryption": "none",
"verbose": true,
"msg_timeout": 1000
}
}
-- here is the log
pi@piRed:~/ems/microserver $ sudo ./wsems
[INFO ] 2017-05-30 15:44:42,861 ./wsems: Using config file: /home/pi/ems/microserver /etc/config.json
[FORCE] 2017-05-30 15:44:42,862 ./wsems: Starting up ....
[TRACE] 2017-05-30 15:44:42,862 jsonConfigurator::getString: Key = audit_target, Par ent = logger
[TRACE] 2017-05-30 15:44:42,862 jsonConfigurator::getValueByType: Key audit_target n ot found
[TRACE] 2017-05-30 15:44:42,863 jsonConfigurator::getString: Key = publish_directory , Parent = logger
[TRACE] 2017-05-30 15:44:42,863 jsonConfigurator::getValueByType: Key publish_direct ory not found
[TRACE] 2017-05-30 15:44:42,863 jsonConfigurator::getUnsignedInteger: Key = max_file _storage, Parent = logger
[TRACE] 2017-05-30 15:44:42,864 jsonConfigurator::getValueByType: Key max_file_stora ge not found
[TRACE] 2017-05-30 15:44:42,864 jsonConfigurator::getString: Key = publish_level, Pa rent = logger
[TRACE] 2017-05-30 15:44:42,864 jsonConfigurator::getValueByType: Key publish_level not found
[TRACE] 2017-05-30 15:44:42,864 jsonConfigurator::getBoolean: Key = auto_flush, Pare nt = logger
[TRACE] 2017-05-30 15:44:42,864 jsonConfigurator::getValueByType: Key auto_flush not found
[FORCE] 2017-05-30 15:44:42,865 ./wsems: Initializing EMS ....
[FORCE] 2017-05-30 15:44:42,865 main: Using config file /home/pi/ems/microserver/etc /config.json
[INFO ] 2017-05-30 15:44:42,865 ./wsems: Creating the WsEms proxy.
[TRACE] 2017-05-30 15:44:42,865 wsEmsProxy::wsEmsProxy: Constructor called
[INFO ] 2017-05-30 15:44:42,865 ./wsems: Starting HTTP Server.
[TRACE] 2017-05-30 15:44:42,866 jsonConfigurator::getInteger: Key = port, Parent = h ttp_server
[TRACE] 2017-05-30 15:44:42,866 jsonConfigurator::getString: Key = host, Parent = ht tp_server
[TRACE] 2017-05-30 15:44:42,866 jsonConfigurator::getBoolean: Key = ssl, Parent = ht tp_server
[TRACE] 2017-05-30 15:44:42,866 jsonConfigurator::getValueByType: Key ssl not found
[TRACE] 2017-05-30 15:44:42,867 jsonConfigurator::getString: Key = certificate, Pare nt = http_server
[TRACE] 2017-05-30 15:44:42,867 jsonConfigurator::getValueByType: Key certificate no t found
[TRACE] 2017-05-30 15:44:42,867 jsonConfigurator::getBoolean: Key = authenticate, Pa rent = http_server
192.168.20.37:8443-->[TRACE] 2017-05-30 15:44:42,867 jsonConfigurator::getValueByTyp e: Key authenticate not found
[TRACE] 2017-05-30 15:44:42,868 jsonConfigurator::getInteger: Key = content_read_tim eout, Parent = http_server
[TRACE] 2017-05-30 15:44:42,868 jsonConfigurator::getValueByType: Key content_read_t imeout not found
[INFO ] 2017-05-30 15:44:42,869 ./wsems: Initializing the ThingWorx REST interface.
[TRACE] 2017-05-30 15:44:42,869 wsEmsProxy::initialize: Method entered
[FORCE] 2017-05-30 15:44:42,870 httpServer: Method entered
[TRACE] 2017-05-30 15:44:42,870 jsonConfigurator::getString: Key = level, Parent = l ogger
[TRACE] 2017-05-30 15:44:42,870 jsonConfigurator::getBoolean: Key = verbose, Parent = ws_connection
[TRACE] 2017-05-30 15:44:42,871 jsonConfigurator::getString: Key = encryption, Paren t = ws_connection
[TRACE] 2017-05-30 15:44:42,871 jsonConfigurator::getString: Key = user, Parent =
[TRACE] 2017-05-30 15:44:42,871 jsonConfigurator::getValueByType: Key user not found
[TRACE] 2017-05-30 15:44:42,871 jsonConfigurator::getString: Key = password, Parent =
[TRACE] 2017-05-30 15:44:42,871 jsonConfigurator::getValueByType: Key password not f ound
[TRACE] 2017-05-30 15:44:42,872 jsonConfigurator::getString: Key = appkey, Parent =
[TRACE] 2017-05-30 15:44:42,872 jsonConfigurator::getString: Key = resource, Parent =
[TRACE] 2017-05-30 15:44:42,872 jsonConfigurator::getValueByType: Key resource not f ound
[TRACE] 2017-05-30 15:44:42,872 jsonConfigurator::getInteger: Key = port, Parent = p roxy
[TRACE] 2017-05-30 15:44:42,872 jsonConfigurator::getValueByType: Parent proxy not f ound
[TRACE] 2017-05-30 15:44:42,873 jsonConfigurator::getString: Key = host, Parent = pr oxy
[TRACE] 2017-05-30 15:44:42,873 jsonConfigurator::getValueByType: Parent proxy not f ound
[TRACE] 2017-05-30 15:44:42,873 jsonConfigurator::getString: Key = user, Parent = pr oxy
[TRACE] 2017-05-30 15:44:42,873 jsonConfigurator::getValueByType: Parent proxy not f ound
[TRACE] 2017-05-30 15:44:42,873 jsonConfigurator::getString: Key = password, Parent = proxy
[TRACE] 2017-05-30 15:44:42,874 jsonConfigurator::getValueByType: Parent proxy not f ound
[TRACE] 2017-05-30 15:44:42,874 jsonConfigurator::getUnsignedInteger: Key = socket_r ead_timeout, Parent = ws_connection
[TRACE] 2017-05-30 15:44:42,874 jsonConfigurator::getValueByType: Key socket_read_ti meout not found
[TRACE] 2017-05-30 15:44:42,874 jsonConfigurator::getUnsignedInteger: Server socket error: Address already in use [127.0.0.1:9080]
[ERROR] 2017-05-30 15:44:42,874 httpserver: Server socket error: Address already in use [127.0.0.1:9080]
[TRACE] 2017-05-30 15:44:42,875 jsonConfigurator::getValueByType:
[ERROR] 2017-05-30 15:44:42,875 httpServer:
[TRACE] 2017-05-30 15:44:42,875 jsonConfigurator::getUnsignedInteger: Key = ssl_read _timeout, Parent = ws_connection
[TRACE] 2017-05-30 15:44:42,875 jsonConfigurator::getValueByType: Key ssl_read_timeo ut not found
[TRACE] 2017-05-30 15:44:42,875 jsonConfigurator::getUnsignedInteger: Key = msg_time out, Parent = ws_connection
[TRACE] 2017-05-30 15:44:42,876 jsonConfigurator::getUnsignedInteger: Key = ping_rat e, Parent = ws_connection
[TRACE] 2017-05-30 15:44:42,876 jsonConfigurator::getValueByType: Key ping_rate not found
[TRACE] 2017-05-30 15:44:42,876 jsonConfigurator::getUnsignedInteger: Key = pingpong _timeout, Parent = ws_connection
[TRACE] 2017-05-30 15:44:42,876 jsonConfigurator::getValueByType: Key pingpong_timeo ut not found
[TRACE] 2017-05-30 15:44:42,876 jsonConfigurator::getUnsignedInteger: Key = max_thre ads, Parent = ws_connection
[TRACE] 2017-05-30 15:44:42,876 jsonConfigurator::getValueByType: Key max_threads no t found
[TRACE] 2017-05-30 15:44:42,876 jsonConfigurator::getUnsignedInteger: Key = max_msg_ size, Parent = ws_connection
[TRACE] 2017-05-30 15:44:42,877 jsonConfigurator::getValueByType: Key max_msg_size n ot found
[TRACE] 2017-05-30 15:44:42,877 jsonConfigurator::getUnsignedInteger: Key = max_mess ages, Parent = ws_connection
[TRACE] 2017-05-30 15:44:42,877 jsonConfigurator::getValueByType: Key max_messages n ot found
[TRACE] 2017-05-30 15:44:42,877 jsonConfigurator::getBoolean: Key = verbose, Parent = ws_connection
[TRACE] 2017-05-30 15:44:42,877 jsonConfigurator::getBoolean: Key = connect_on_deman d, Parent = ws_connection
[TRACE] 2017-05-30 15:44:42,877 jsonConfigurator::getValueByType: Key connect_on_dem and not found
[TRACE] 2017-05-30 15:44:42,877 jsonConfigurator::getUnsignedInteger: Key = max_conn ect_delay, Parent = ws_connection
[TRACE] 2017-05-30 15:44:42,877 jsonConfigurator::getValueByType: Key max_connect_de lay not found
[TRACE] 2017-05-30 15:44:42,878 jsonConfigurator::getUnsignedInteger: Key = connect_ period, Parent = ws_connection
[TRACE] 2017-05-30 15:44:42,878 jsonConfigurator::getValueByType: Key connect_period not found
[TRACE] 2017-05-30 15:44:42,878 jsonConfigurator::getUnsignedInteger: Key = duty_cyc le, Parent = ws_connection
[ERROR] 2017-05-30 15:44:42,878 httpserver: Server socket error: Address already in use [127.0.0.1:9081]
[TRACE] 2017-05-30 15:44:42,878 jsonConfigurator::getValueByType: Server socket erro r: Address already in use [127.0.0.1:9081]
[ERROR] 2017-05-30 15:44:42,878 httpServer: unable to bind http server to port=9081, trying next port.
[TRACE] 2017-05-30 15:44:42,878 jsonConfigurator::getUnsignedInteger: Key = message_ idle_time, Parent = ws_connection
[TRACE] 2017-05-30 15:44:42,878 jsonConfigurator::getValueByType: Key message_idle_t ime not found
[TRACE] 2017-05-30 15:44:42,878 jsonConfigurator::getUnsignedInteger: Key = connect_ timeout, Parent = ws_connection
[TRACE] 2017-05-30 15:44:42,878 jsonConfigurator::getValueByType: Key connect_timeou t not found
[TRACE] 2017-05-30 15:44:42,878 jsonConfigurator::getUnsignedInteger: Key = connect_ retry_interval, Parent = ws_connection
[TRACE] 2017-05-30 15:44:42,878 jsonConfigurator::getValueByType: Key connect_retry_ interval not found
[TRACE] 2017-05-30 15:44:42,879 jsonConfigurator::getInteger: Key = connect_retries, Parent = ws_connection
[TRACE] 2017-05-30 15:44:42,879 jsonConfigurator::getValueByType: Key connect_retrie s not found
[TRACE] 2017-05-30 15:44:42,879 jsonConfigurator::getBoolean: Key = enabled, Parent = offline_msg_store
[TRACE] 2017-05-30 15:44:42,879 jsonConfigurator::getValueByType: Parent offline_msg _store not found
[TRACE] 2017-05-30 15:44:42,880 jsonConfigurator::getString: Key = directory, Parent = offline_msg_store
[TRACE] 2017-05-30 15:44:42,880 jsonConfigurator::getValueByType: Parent offline_msg _store not found
[TRACE] 2017-05-30 15:44:42,880 jsonConfigurator::getUnsignedInteger: Key = max_size , Parent = offline_msg_store
[TRACE] 2017-05-30 15:44:42,880 jsonConfigurator::getValueByType: http server bound to port=9082.
[DEBUG] 2017-05-30 15:44:42,880 httpServer: http server bound to port=9082.
[TRACE] 2017-05-30 15:44:42,880 jsonConfigurator::getUnsignedInteger: Key = message_ chunk_size, Parent = ws_connection
[TRACE] 2017-05-30 15:44:42,880 jsonConfigurator::getValueByType: Key message_chunk_ size not found
[DEBUG] 2017-05-30 15:44:42,881 SDK: twWs_Create: Initializing Websocket Client for 192.168.20.37:8443//Thingworx/WS
[DEBUG] 2017-05-30 15:44:42,881 SDK: twTlsClient_Create: Initializing TLS Client
[DEBUG] 2017-05-30 15:44:42,881 SDK: twApi_Initialize: Websocket Established after 0 tries
[DEBUG] 2017-05-30 15:44:42,881 SDK: subscribedPropsMgr_Initialize: Initializing sub scribed properties manager
[TRACE] 2017-05-30 15:44:42,881 jsonConfigurator::getBoolean: Key = validate, Parent = certificates
[TRACE] 2017-05-30 15:44:42,881 jsonConfigurator::getBoolean: Key = deny_self_signed , Parent = certificates
[TRACE] 2017-05-30 15:44:42,882 jsonConfigurator::getValueByType: Key deny_self_sign ed not found
[TRACE] 2017-05-30 15:44:42,882 jsonConfigurator::getBoolean: Key = allow_self_signe d, Parent = certificates
[TRACE] 2017-05-30 15:44:42,882 jsonConfigurator::getString: Key = client_cert, Pare nt = certificates
[TRACE] 2017-05-30 15:44:42,882 jsonConfigurator::getValueByType: Key client_cert no t found
[TRACE] 2017-05-30 15:44:42,882 jsonConfigurator::getString: Key = key_file, Parent = certificates
[TRACE] 2017-05-30 15:44:42,882 jsonConfigurator::getValueByType: Key key_file not f ound
[TRACE] 2017-05-30 15:44:42,883 jsonConfigurator::getString: Key = key_passphrase, P arent = certificates
[TRACE] 2017-05-30 15:44:42,883 jsonConfigurator::getValueByType: Key key_passphrase not found
[DEBUG] 2017-05-30 15:44:42,883 jsonConfigurator::getJsonEntity: Key cert_chain not found
[DEBUG] 2017-05-30 15:44:42,883 jsonConfigurator::getJsonEntity: Key validation_crit eria not found
[TRACE] 2017-05-30 15:44:42,883 jsonConfigurator::getString: Key = staging_dir, Pare nt = file
[TRACE] 2017-05-30 15:44:42,884 jsonConfigurator::getValueByType: Parent file not fo und
[TRACE] 2017-05-30 15:44:42,884 jsonConfigurator::getUnsignedInteger: Key = buffer_s ize, Parent = file
[TRACE] 2017-05-30 15:44:42,884 jsonConfigurator::getValueByType: Parent file not fo und
[TRACE] 2017-05-30 15:44:42,884 jsonConfigurator::getDouble: Key = max_file_size, Pa rent = file
[TRACE] 2017-05-30 15:44:42,884 jsonConfigurator::getValueByType: Parent file not fo und
[DEBUG] 2017-05-30 15:44:42,884 jsonConfigurator::getJsonEntity: Parent file not fou nd
[TRACE] 2017-05-30 15:44:42,885 SDK: twFileManager_AddVirtualDir: Adding __staging__ to vdir list
[TRACE] 2017-05-30 15:44:42,885 WsEmsProxy::bindThing: Adding Thing RedPi to binding list
[DEBUG] 2017-05-30 15:44:42,885 jsonConfigurator::getJsonEntity: Parent file not fou nd
[INFO ] 2017-05-30 15:44:42,886 wsEmsProxy::initialize: Initialization complete!
[INFO ] 2017-05-30 15:44:42,886 ./wsems: Starting the connection.
[TRACE] 2017-05-30 15:44:42,886 jsonConfigurator::getInteger: Key = connect_retry_in terval, Parent = ws_connection
[TRACE] 2017-05-30 15:44:42,886 jsonConfigurator::getValueByType: Key connect_retry_ interval not found
[TRACE] 2017-05-30 15:44:42,886 jsonConfigurator::getInteger: Key = max_connect_dela y, Parent = ws_connection
[TRACE] 2017-05-30 15:44:42,886 jsonConfigurator::getValueByType: Key max_connect_de lay not found
[TRACE] 2017-05-30 15:44:42,887 SDK: twApi_Connect: Delaying 0 milliseconds before c onnecting
[DEBUG] 2017-05-30 15:44:42,887 SDK: twTlsClient_Reconnect: Re-establishing SSL cont ext
[DEBUG] 2017-05-30 15:44:42,887 SDK: twTlsClient_Connect: Connecting to server
[TRACE] 2017-05-30 15:44:42,887 SDK: twWs_Connect: Connected to 192.168.20.37:8443
[TRACE] 2017-05-30 15:44:42,887 SDK: twWs_Connect: Sent request:
GET /Thingworx/WS HTTP/1.1
User-Agent: ThingWorx C SDK
Upgrade: websocket
Connection: Upgrade
Host: 192.168.20.37
Sec-WebSocket-Version: 13
Sec-WebSocket-Key: K2wSDrgRu5z6f1o/qirv4g==
Max-Frame-Size: 8192
appKey: f109ecb5-9e2b-4215-8d3f-6479d5d6b9c1
[ERROR] 2017-05-30 15:44:52,869 SDK: twWs_Connect: Error trying to connect
[DEBUG] 2017-05-30 15:44:52,869 SDK: twTlsClient_Reconnect: Re-establishing SSL context
[DEBUG] 2017-05-30 15:44:52,870 SDK: twTlsClient_Connect: Connecting to server
[DEBUG] 2017-05-30 15:44:57,871 SDK: twTlsClient_Reconnect: Re-establishing SSL context
[DEBUG] 2017-05-30 15:44:57,872 SDK: twTlsClient_Connect: Connecting to server
[TRACE] 2017-05-30 15:44:57,873 SDK: twWs_Connect: Connected to 192.168.20.37:8443
[TRACE] 2017-05-30 15:44:57,873 SDK: twWs_Connect: Sent request:
GET /Thingworx/WS HTTP/1.1
User-Agent: ThingWorx C SDK
Upgrade: websocket
Connection: Upgrade
Host: 192.168.20.37
Sec-WebSocket-Version: 13
Sec-WebSocket-Key: Vsg3bgTpTfPat+g++S1gWA==
Max-Frame-Size: 8192
appKey: f109ecb5-9e2b-4215-8d3f-6479d5d6b9c1
[ERROR] 2017-05-30 15:45:07,872 SDK: twWs_Connect: Error trying to connect
[DEBUG] 2017-05-30 15:45:07,872 SDK: twTlsClient_Reconnect: Re-establishing SSL context
[DEBUG] 2017-05-30 15:45:07,873 SDK: twTlsClient_Connect: Connecting to server
[DEBUG] 2017-05-30 15:45:12,873 SDK: twTlsClient_Reconnect: Re-establishing SSL context
[DEBUG] 2017-05-30 15:45:12,874 SDK: twTlsClient_Connect: Connecting to server
[TRACE] 2017-05-30 15:45:12,875 SDK: twWs_Connect: Connected to 192.168.20.37:8443
[TRACE] 2017-05-30 15:45:12,875 SDK: twWs_Connect: Sent request:
GET /Thingworx/WS HTTP/1.1
User-Agent: ThingWorx C SDK
Upgrade: websocket
Connection: Upgrade
Host: 192.168.20.37
Sec-WebSocket-Version: 13
Sec-WebSocket-Key: 4c60G//iroTJJ/xUrbO4cQ==
Max-Frame-Size: 8192
appKey: f109ecb5-9e2b-4215-8d3f-6479d5d6b9c1
[ERROR] 2017-05-30 15:45:22,875 SDK: twWs_Connect: Error trying to connect
[DEBUG] 2017-05-30 15:45:22,876 SDK: twTlsClient_Reconnect: Re-establishing SSL context
[DEBUG] 2017-05-30 15:45:22,876 SDK: twTlsClient_Connect: Connecting to server
[DEBUG] 2017-05-30 15:45:27,877 SDK: twTlsClient_Reconnect: Re-establishing SSL context
[DEBUG] 2017-05-30 15:45:27,877 SDK: twTlsClient_Connect: Connecting to server
[TRACE] 2017-05-30 15:45:27,878 SDK: twWs_Connect: Connected to 192.168.20.37:8443
[TRACE] 2017-05-30 15:45:27,878 SDK: twWs_Connect: Sent request:
GET /Thingworx/WS HTTP/1.1
User-Agent: ThingWorx C SDK
Upgrade: websocket
Connection: Upgrade
Host: 192.168.20.37
Sec-WebSocket-Version: 13
Sec-WebSocket-Key: b3FYTKV+0GgloJgR2ykkHQ==
Max-Frame-Size: 8192
appKey: f109ecb5-9e2b-4215-8d3f-6479d5d6b9c1
[ERROR] 2017-05-30 15:45:37,878 SDK: twWs_Connect: Error trying to connect
[DEBUG] 2017-05-30 15:45:37,878 SDK: twTlsClient_Reconnect: Re-establishing SSL context
[DEBUG] 2017-05-30 15:45:37,879 SDK: twTlsClient_Connect: Connecting to server
[DEBUG] 2017-05-30 15:45:42,882 SDK: twTlsClient_Reconnect: Re-establishing SSL context
[DEBUG] 2017-05-30 15:45:42,883 SDK: twTlsClient_Connect: Connecting to server
[TRACE] 2017-05-30 15:45:42,885 SDK: twWs_Connect: Connected to 192.168.20.37:8443
[TRACE] 2017-05-30 15:45:42,885 SDK: twWs_Connect: Sent request:
GET /Thingworx/WS HTTP/1.1
User-Agent: ThingWorx C SDK
Upgrade: websocket
Connection: Upgrade
Host: 192.168.20.37
Sec-WebSocket-Version: 13
Sec-WebSocket-Key: TT6oGnLX5utZrbaC9YS7bw==
Max-Frame-Size: 8192
appKey: f109ecb5-9e2b-4215-8d3f-6479d5d6b9c1
[WARN ] 2017-05-30 15:45:42,901 Main: Unable to connect to server. Trying .booted config file
[ERROR] 2017-05-30 15:45:52,885 SDK: twWs_Connect: Error trying to connect
[DEBUG] 2017-05-30 15:45:52,886 SDK: twTlsClient_Reconnect: Re-establishing SSL context
[DEBUG] 2017-05-30 15:45:52,886 SDK: twTlsClient_Connect: Connecting to server
[WARN ] 2017-05-30 15:45:57,887 WsEmsProxy::execute() : Server connection failed. Error Code: 201
[FORCE] 2017-05-30 15:45:57,988 Main: Shutdown signal received. Restarting ....
[TRACE] 2017-05-30 15:45:57,989 wsEmsProxy::~wsEmsProxy: Destructor called
[TRACE] 2017-05-30 15:45:57,989 WsProxy::~WsProxy: Deleting Thing binding list
[TRACE] 2017-05-30 15:45:57,989 SDK: Sending Msg >>>>>>>>>
Message Details:
Version: 1
Method/Code: 0xb (UNBIND)
RequestID: 1
EndpointID:0
SessionID: 0
Multipart: 0
Count: 1
Name: RedPi
[DEBUG] 2017-05-30 15:45:57,990 SDK: twMessage_Send: Not authenticated yet
[ERROR] 2017-05-30 15:45:57,990 SDK: twMessage_Send: Error sending Message with RequestId 1
[ERROR] 2017-05-30 15:45:57,990 SDK: twApi_UnbindThing: Error creating sending Unbind message
[DEBUG] 2017-05-30 15:45:57,990 SDK: twMessage_Delete: Deleting BIND Message: 1
terminate called without an active exception
pi@piRed:~/ems/microserver $
Solved! Go to Solution.
Hi Anthony, in both of the json.configs why do you have certificates section twice? Additionally if you are attempting to connect in encrypted mode you'd want to have something like this
"ws_connection": {
"encryption": "SSL",
However you have it disabled. The configuration seems a bit off could you please refer to the ThingWorx WebSocket -based Edge Microserver Deverloper's Guide for correct configuration
Hope this'd help.
Hi Anthony, in both of the json.configs why do you have certificates section twice? Additionally if you are attempting to connect in encrypted mode you'd want to have something like this
"ws_connection": {
"encryption": "SSL",
However you have it disabled. The configuration seems a bit off could you please refer to the ThingWorx WebSocket -based Edge Microserver Deverloper's Guide for correct configuration
Hope this'd help.
Sushant,
Do you mind looking at my client auth settings? I set up tomcat to perform a client auth, I have a client certificate and referenced it wihtin the config.json however it appears that the EMS is passing some other certificate other than mine. It appears to be a default certificate from thingworx which is not in the defined config file.
config.json:
{
"ws_servers": [{
"host": "XXXXXXXX",
"port": 8443
}],
"appKey": "XXXXXX",
"certificates": {
"validate": true,
"client_cert": "/home/pi/ems/microserver/keystore/client.cer",
"cert_chain": [ "/home/pi/ems/microserver/keystore/CA.cer" ],
"key_file": "/home/pi/ems/microserver/keystore/keyenc.pem",
"key_passphrase": "XXXXXX"
},
"http_server": {
"host": "127.0.0.1",
"port": 9080
},
"logger": {
"level": "TRACE"
},
"auto_bind": [{
"name": "RedPi",
"gateway": false
}],
"ws_connection": {
"encryption": "SSL",
"verbose": true,
"msg_timeout": 1000
}
}
This is from wireshark, this is the certificate that is being passed to the server as the client certificate with my request:
(id-at-commonName=MicroServer,id-at-organizationalUnitName=Edge,id-at-organizationName=ThingWorx,id-at-localityName=Exton,id-at-stateOrProvinceName=Pennsylvania,id-at-countryName=US)
Thank you, I cannot believe I missed that setting. it is working now. Thanks!!!!!!