Skip to main content
1-Visitor
September 20, 2018
Solved

Can Multiple SDK instance be bound to TW server with separate Entities.

  • September 20, 2018
  • 3 replies
  • 2119 views

Can Multiple SDK instance be bound to TW server with separate Entities.

I am binding virtual thing with separate remote things on TW server. But as soon as I try to bind the second instance of SDK, I get the following error

 

10:41:20.851 [NettyClient-NIO-1] DEBUG i.n.h.c.h.w.WebSocket08FrameEncoder - Encoding WebSocket Frame opCode=10 length=1
10:41:20.860 [main] ERROR com.comau.edgeclient.Discover - An exception occurred while initializing the client
java.lang.Exception: Could not bind things: Binding failed, see server log for more information
at com.thingworx.communications.client.ConnectedThingClient.bind(ConnectedThingClient.java:394) ~[thingworx-communications-client-development.server.build-b679.jar:na]
at com.thingworx.communications.client.ConnectedThingClient.bind(ConnectedThingClient.java:357) ~[thingworx-communications-client-development.server.build-b679.jar:na]
at com.thingworx.communications.client.ConnectedThingClient.bindThing(ConnectedThingClient.java:212) ~[thingworx-communications-client-development.server.build-b679.jar:na]
at com.my.edgeclient.Discover.main(Discover.java:81) ~[bin/:na]
Best answer by manasvi

Hi,

Thanks for the response.

I was not able to determine whether this is an issue regarding ports being bound multiple times.

But I was able to solve the issue, by making each endpoint name unique

 

 

String endPoint = "EP_" + macID;//macId was determined ealier in the code
config.setName(endPoint);

 

Since mac id for each edge device would be unique, in this manner we can make each endpoint unique.

 

 

 

3 replies

5-Regular Member
October 4, 2018

Hello,

 

Can you also provide the information in the server log (Application Log) for this timestamp?

From the error, which refers to binding, I assume that there is a port issue and the configuration has to be changed so each SDK instance needs to use a different port, it appears that the port is kept per instance and rebinding throws this error.

 

Regards,

Pascal

5-Regular Member
October 26, 2018

Hello,

 

Just checking back on this, was the advice that it's related to ports being bound multiple times helpful in finding the cause of the problem? If not, I can have a look at the logs to determine which ports are double bound. Otherwise we could mark the advice that it's caused by multiple binding of ports as the accepted answer to benefit others that might have the same problem.

 

Regards,

Pascal

manasvi1-VisitorAuthorAnswer
1-Visitor
October 26, 2018

Hi,

Thanks for the response.

I was not able to determine whether this is an issue regarding ports being bound multiple times.

But I was able to solve the issue, by making each endpoint name unique

 

 

String endPoint = "EP_" + macID;//macId was determined ealier in the code
config.setName(endPoint);

 

Since mac id for each edge device would be unique, in this manner we can make each endpoint unique.