Skip to main content
17-Peridot
February 7, 2025
Solved

Connecting Windchill to NATS messaging queue

  • February 7, 2025
  • 1 reply
  • 783 views

Version: Windchill 13.0

 

Use Case: We're planning to use NATS for the messaging queue between Windchill and other systems. When going to test the connection via java code, Windchill throws the following: SEVERE: exceptionOccurred, Connection: 37, Exception: java.util.concurrent.ExecutionException: java.io.IOException: SSL required by server.


Description:

We're connecting Windchill to upstream and downstream systems by way of NATS as the messaging queue. I have the NATS .jar and dependencies in Windchill, code written and compiled successfully. 

 

I run a simple example to connect and post a sample message straight out of this NATS functional example. Windchill throws this:

 

Feb 07, 2025 5:29:05 PM io.nats.client.impl.ErrorListenerLoggerImpl exceptionOccurred
SEVERE: exceptionOccurred, Connection: 37, Exception: java.util.concurrent.ExecutionException: java.io.IOException: SSL required by server.

 

Is this a certificate issue (i.e. need to add a certificate for NATS to Windchill?) or are there some other settings (securityContext.properties??) I'm missing?

Best answer by Dobi

CS166338 was my first inclination too. It turned out that the default url for NATS is "nats://xxx". When I replaced that with "tls://" the rest of the connection and .creds file worked just fine. 

1 reply

24-Ruby III
February 8, 2025

Helpful article - "How to configure Windchill to use the https protocol with SSL encryption and (self-signed) certificates in an environment with replica servers in Windchill": https://www.ptc.com/en/support/article/CS166338 

Dobi17-PeridotAuthorAnswer
17-Peridot
February 8, 2025

CS166338 was my first inclination too. It turned out that the default url for NATS is "nats://xxx". When I replaced that with "tls://" the rest of the connection and .creds file worked just fine.