web-dev-qa-db-fra.com

L'authentification a échoué car la partie distante a fermé l'exception de flux de transport lors de l'obtention d'une réponse du service Web.

J'appelle un service tiers et lorsque je demande une réponse, une exception est générée.

"L’authentification a échoué parce que la partie distante a fermé l’exception de flux de transport".

Je pense que l'envoi des identifiants pose un problème. J'ai même essayé de fournir de nouvelles informations d'identification. Voici le code complet

string get_url = "https://**.*******.com/com/******/webservices/public_webservice.cfc?wsdl&Method=CreateUser&SiteID=**&WSPassword=******&UserName=******";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(get_url);
request.MaximumAutomaticRedirections = 4;
request.MaximumResponseHeadersLength = 4;
request.Credentials = CredentialCache.DefaultCredentials;
//request.UseDefaultCredentials = false;
//request.Credentials = new System.Net.NetworkCredential("*****", "*****");
request.ContentType = "application/x-www-form-urlencoded; charset=ISO-8859-1";

// Show the sent stream
//lbl_send_stream.Text = send_stream;
//lbl_send_stream.Text = get_url;
// Get UserId And LoginToken From Third Party DB
// ==============================================
//Exception gets throwed When code hits here
HttpWebResponse response = (HttpWebResponse)request.GetResponse();

enter image description here

41
Chirag K

J'ai trouvé la réponse. C'est parce que le service Web tiers que nous appelions ne supportait pas TLS 1.0, mais 1.1 et 1.2. J'ai donc dû changer le protocole de sécurité.

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
98
Chirag K