Bonjour, 

Je sais que c'est un peu loin des télécom, mais pas tant que ça, on a ce soucis 
pour appeler un Web service Orange pour passer les commandes Adsl directement 
chez Orange. 



Un client fourni un Web Service qui nécessite l'utilisation d'un certificat au 
travers d'une connexion SSL. Pour faire plus simple et isoler les problèmes il 
a été créé un ASMX minimaliste.
L'appel fonctionne correctement depuis le serveur Web Virtuel de Visual Studio 
(en version de Debug et Release).

L'utilisation du même code sur un serveur web IIS renvoi l'erreur suivante :

System.Net.WebException: La demande a été abandonnée: Impossible de créer un 
canal sécurisé SSL/TLS.
   à System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest 
request)
   à 
System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest 
request)
   à System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String 
methodName, Object[] parameters)

Voici l'extrait du code :

private static bool AllwaysGoodCertificate(object sender, X509Certificate 
certificate, X509Chain chain, SslPolicyErrors policyErrors)
       {
           return true;
       } 


        [WebMethod]
        public string Mafunction(string param1, bool param2, string param3, 
string param4)
        {
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
            ServicePointManager.ServerCertificateValidationCallback += new 
RemoteCertificateValidationCallback(AllwaysGoodCertificate);


            // Load the client certificate from a file.
            string Cert = 
HttpContext.Current.Server.MapPath("~/bin/App_Data/Moncertificat.pem");
            X509Certificate2 x509 = new X509Certificate2(Cert);
   
            
            WebserviceClient service = new WebserviceClient();
          
            service.Url = "https://webservices.xxxx.com/xxxx/xxxx";;
            service.ClientCertificates.Add(x509);

                              

            string response = service.getxxxxx(
            new getxxxxx ()
           {
                Paramcli1 = param1,
                Paramcli2 = param2,
                Paramcli3 = param3,
                Paramcli4 = param4
            }
            );

            return response;
        }



Bonne réception
David Marciano


14, rue Crespin du Gast - 75011 Paris - France
Tel : +33 (0)1 48 24 07 07 - Fax : +33 (0)1 48 24 07 08
Mail : dmarci...@adenis.fr 




---------------------------
Liste de diffusion du FRnOG
http://www.frnog.org/

Répondre à