C# .net integration getting error Failed to create session

,

I follow the instruction in this tutorial:

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

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:

@arih thanks for your support
secured SMF Host still not working as getting error as bellow
SSL 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

Hmm I am not familiar with the error. But no harm to double check the ports and properties are all correct. I remember seeing something about version not correct when I used the wrong port once :slight_smile:

@dndoanh I think @arih is on to something. Could you check your host parameters are using port 55003, and NOT 55555 (the default)?

@dndoanh - Did you sorted out the issue. i am facing the same issues. i dont want to go for plain text ports.

Hi @Poornima & @dndoanh,
I just wanted to follow-up and see if you were able to resolve your issues. If so can you please share what the solution was :slight_smile:

thanks!

@Poornima @marc I haven’t resolved this issue yet, it’s only working with plain text port 55003, secured port not working

@marc @dndoanh I have not resolved this yet

@Poornima, I made a mistake in my reply. The SSL port is 55443, NOT 55003 as I had earlier, which is the compressed port.

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

Thank you so much for sharing @Frankee787