私はサードパーティのサービスを呼び出していますが、応答を求めると、例外がスローされます
「リモートパーティがトランスポートストリームの例外を閉じたため、認証に失敗しました」。
資格情報の送信に問題があると思います。私も新しい資格情報を提供しようとしました。完全なコードはこちら
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();
私が答えを見つけたのは、私たちが呼び出していたサードパーティのWebサービスが1.1と1.2をサポートしていたTLS 1.0をサポートしていなかったからです。そのため、セキュリティプロトコルを変更する必要がありました。
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;