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

Connecting Windchill to NATS messaging queue

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?

DobiAnswer
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. 

2 replies

24-Ruby IV
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 

Translate
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. 

Translate