Solace Community is getting a facelift!
On March 3rd we will be starting the process of migrating Solace Community to a new platform. As a result, Solace Community will go in to a temporary read-only state. You will still be able to come onto Solace Community and search through posts to find answers, but you won't be able to ask questions, post comments, or react in any way.
We hope to have the migration complete by Wednesday March 5th (or sooner), so please keep an eye out!
C# .net integration getting error Failed to create session
I follow the instruction in this tutorial:
https://solace.com/samples/solace-samples-dotnet/publish-subscribe/
Getting error (SOLCLIENT_FAIL - Failed to create session) when create session and connect
how to reproduce:
- Create Solace Cloud free plan
- Pub/Sub using Secured SMF URI with (host, vpn, username, password)
Please help
Thanks
Comments
-
Hi @dndoanh
I believe the tutorial didn't include that we need to have a trust store to connect to secured ports. I'm guessing the error is because of something like this: failed to load trust store: unspecified property 'SESSION_SSL_TRUST_STORE_DIR'
probably something like this:If you don't need secured SMF, you can enable plain text ports during the creation of the Solace Cloud brokers like below:
0 -
@arih thanks for your support
plain text ports working as you said
secured SMF Host still not working as getting error as bellowSSL error: 'wrong version number'(0x1408f10b) in connect for session '(c0,s1)_schoolber-messaging', connection 'client name 'NEXGEESERVER/11408/#00000001/xD2QfEursa', VPN name 'schoolber-messaging', peer host 'tcps://mr-16jp1pl8hgc5.messaging.solace.cloud
0 -
Hello,
I too stumbled on this issue and got the resolved with a suggestion provided by @alamkhan786 . Hoping this well help someone in the future
1st option and disable complete chain verification
// Create session properties
SessionProperties sessionProps = new SessionProperties()
{
Host = host,
VPNName = VPNName,
UserName = UserName,
Password = Password,
ReconnectRetries = DefaultReconnectRetries,
SSLValidateCertificate = false
};
2nd Option - Load the store which has the Trusted CA public certificate
X509CertificateCollection certificatesCollection = new X509CertificateCollection();
foreach (StoreLocation storeLocation in (StoreLocation[])Enum.GetValues(typeof(StoreLocation)))
{
foreach (StoreName storeName in (StoreName[]) Enum.GetValues(typeof(StoreName)))
{
X509Store store = new X509Store(storeName, storeLocation);
try
{
store.Open(OpenFlags.OpenExistingOnly);
foreach (X509Certificate certificate in store.Certificates)
{
certificatesCollection.Add(certificate);
}
}
catch (CryptographicException)
{
Console.WriteLine("No {0}, {1}", store.Name, store.Location);
}
}
Console.WriteLine();
}
Use it during the setup of SessionProperties
SessionProperties sessionProps = new SessionProperties()
{
Host = host,
VPNName = VPNName,
UserName = UserName,
Password = Password,
ReconnectRetries = DefaultReconnectRetries,
SSLTrustStore= certificatesCollection
};
Hope it will help the community.
Best Regards,
Franklin
2 -
Thank you so much for sharing @Frankee787
0