2016-06-24 5 views
0

Wenn ich versuche, einen Rest WebService (HTTP GET) von meinem .net 3.5 winform Anwendung aufrufen, erhalte ich folgende Fehlermeldung:HTTP Get-Anforderungsfehler "Authentifizierung fehlgeschlagen, weil die Remote-Partei den Transportstrom geschlossen hat."

 `Authentication failed because the remote party has closed the transport stream. 
StackTrace: at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest) 
     at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) 
     at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest) 
     at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult) 
     at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 
     at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result) 
     at System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size) 
     at System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size) 
     at System.Net.ConnectStream.WriteHeaders(Boolean async)` 

Der Antrag fein läuft, wenn im Browser ausgeführt werden. Also, ist das Problem im Zusammenhang mit Server mit höheren TLS-Protokoll, die nicht von .net 3.5 unterstützt wird? Hier ist mein Code auf den Webdienst aufzurufen:

XElement response = XElement.Load(url); 

Antwort

0

Ja, meistens wahrscheinlich Grund ist, dass der Web-Server 1.2 TLS. Wenn Sie Ihr .net-Framework nicht aktualisieren können, dann kann dies helfen: https://github.com/juhovh/AaltoTLS
BTW, ich habe diesen Drittanbieter-Code nicht verwendet und es nicht unterstützen - Es liegt an Ihnen, über ihre Eignung zu entscheiden.

Verwandte Themen