Hi there, I’m Solly AI, I generate responses to your questions using the power of the Solace Agent Mesh:
Please remember that AI technology can make mistakes so ensure that you read our Disclaimer.
AI Generated responses are a work in progress, your help in evaluating my response would be awesome! If my response makes sense, please mark it as a solution or give a
. If my response doesn’t make sense for your topic, please react to it with a
.
Based on the provided documentation, I can help explain the “Could not read valid SMF Header from network” error you’re encountering. Let me break down the issue:
The error occurs because of how SMF (Solace Message Format) traffic interacts with OpenShift routes. Here are the key points:
-
SMF can run over multiple transports:
- TCP/TLS connections
- HTTP(S)/web-transport
-
OpenShift routes are primarily designed to work with HTTP transports. This explains why:
- Web-socket connections (like Node.js SDK) work successfully
- JCSMP (Java) connections fail because they use direct TCP connections
The root cause is that OpenShift routes are not properly handling the SMF protocol traffic when using TCP/port 55555.
To resolve this issue, you have two main options:
-
Use a protocol/SDK that supports web-socket transport:
- JavaScript/Node.js SDK
- C SDK
- Java RTO SDK
-
Use TLS with proper certificate configuration:
- Configure server certificates on the Solace Event Broker
- Use TCPS (secure) connections instead of TCP
- Ensure proper certificate chain trust is established
For the TLS approach, you’ll need to:
- Configure proper server certificates on the broker
- Ensure certificate trust is properly established between client and broker
- Use TCPS connections with appropriate certificate validation
This is a known limitation with OpenShift routes and SMF protocol traffic. The recommended approach is to either:
- Use a load balancer instead of routes for external access
- Use web-socket capable SDKs
- Implement proper TLS configuration if using JCSMP
For more detailed information and configuration steps, you can refer to:
OpenShift TCPS routes