2010-10-15 3 views
0

Lors de l'utilisation d'une référence Web Visual Studio à un service SOAP sur un serveur qui nécessite une connexion HTTPS, j'obtiens l'erreur: "La connexion sous-jacente était fermée: Impossible d'établir une relation de confiance pour le Canal sécurisé SSL/TLS. ".NET Web Reference Erreur SSL

La classe parente du client est SoapHTTPClientProtocol si cela fait une différence.

Je ne suis pas en mesure de modifier le certificat du serveur. Existe-t-il un moyen programmatique d'accepter le certificat? Googling around J'ai trouvé plusieurs références à la classe ServicePointManager mais aucune n'est assez complète pour que je comprenne comment l'utiliser.

http://support.microsoft.com/kb/915599

Quelqu'un at-il rencontré cette erreur?

Répondre

0

Essayez d'appeler cela avant d'appeler le service:

ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(AcceptAllCertifications); 

Et mettre cette méthode de rappel dans:

private static bool AcceptAllCertifications(object sender, System.Security.Cryptography.X509Certificates.X509Certificate certification, System.Security.Cryptography.X509Certificates.X509Chain chain, System.Net.Security.SslPolicyErrors sslPolicyErrors) 
    { 
     return true; 
    } 
+0

Cela a parfaitement fonctionné! Merci beaucoup Brendan. – Apathor