Benutzer mit den meisten Antworten
Verbindungsfehler - C# - Konsolenapplikation

Frage
-
Hi, beim Versuch, mit C# eine XML Datei als String an einen Server zu verschicken, bekomme ich folgende Fehlermeldung
2019-09-22 08:51:56.4195|ERROR|JaguarLandrover.Upload|Die zugrunde liegende Verbindung wurde geschlossen: Für den geschützten SSL/TLS-Kanal konnte keine Vertrauensstellung hergestellt werden.. System.Net.WebException: Die zugrunde liegende Verbindung wurde geschlossen: Für den geschützten SSL/TLS-Kanal konnte keine Vertrauensstellung hergestellt werden.. ---> System.Security.Authentication.AuthenticationException: Das Remotezertifikat ist laut Validierungsverfahren ungültig.
Liegt der Fehler an mir oder am Server? Ich würde intuitiv sagen, am Server, bin mir aber nicht sicher. Was für eine Art Fehler ist das?
- Bearbeitet tklustig Sonntag, 22. September 2019 07:11
Antworten
-
Hat sich nunmehr erledigt. Explizit Danke an Stefan.
Die URL war verkehrt. Folgende URLs erlauben die Verbindung
ConnectionStrings.urlJaguarDns = "https://www.jlr.unipart.co.uk/unidial/uprnet/P/UprMain02";
ConnectionStrings.urlLandroverDns = "https://www.jlr.unipart.co.uk/unidial/uprnet/P/UprMain28";
nicht
ConnectionStrings.urlJaguarDns = "https://www.jlr.unipart.co.uk/unidial/uprnet/P/UprMaino2";
ConnectionStrings.urlLandroverDns = "https://www.jlr.unipart.co.uk/unidial/uprnet/P/UprMaino28";
Alle Antworten
-
Hi,
in erster Linie wohl am Server. Allerdings würde ich diesen URL mal im Browser aufrufen und schauen, ob dort auch ein Zertifikatsfehler kommt.
Falls nicht, kann es auch daran liegen, dass in deinem Client das Verschlüsselungsverfahren (bspw. TLS 1.2 oder was auch immer vom Server gefordert wird) nicht unterstützt wird.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport -
Im Browser kommt folgende Fehlermeldung:
Error 404: java.io.FileNotFoundException: SRVE0190E: File not found: /uprnet/P/UprMaino2
Wenn ich folgenden Einzeiler integriere
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
bin ich zwar den Zertifikatsfehler los, dafür deckt sich die Fehlermeldung mit dem des Browser:
Der Remoteserver hat einen Fehler zurückgegeben: (404) Nicht gefunden
Immer noch mein Fehler oder der des Servers? Hier mein Code
#region Führt Upload aus public List<string> DoUploading(string url, string bod) { List<string> lstFeedback = new List<string>(); try {
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; }; // Create a request using a URL that can receive a post. WebRequest request = WebRequest.Create(url); // Set the Method property of the request to POST. request.Method = "POST"; // Create POST data and convert it to a byte array. string postData = bod; Byte[] byteArray = Encoding.UTF8.GetBytes(postData); /* Set the ContentType property of the WebRequest. request.ContentType = "application/x-www-form-urlencoded";*/ request.ContentType = "text/xml"; // Set the ContentLength property of the WebRequest. request.ContentLength = byteArray.Length; // Get the request stream. Stream dataStream = request.GetRequestStream(); // Write the data to the request stream. dataStream.Write(byteArray, 0, byteArray.Length); // Close the Stream object. dataStream.Close(); // Get the response. WebResponse response = request.GetResponse(); // Display the status. lstFeedback.Add(((HttpWebResponse) response).StatusDescription); // Get the stream containing content returned by the server. // The using block ensures the stream is automatically closed. using(dataStream = response.GetResponseStream()) { // Open the stream using a StreamReader for easy access. StreamReader reader = new StreamReader(dataStream); // Read the content. string responseFromServer = reader.ReadToEnd(); // Display the content. lstFeedback.Add(responseFromServer); } // Close the response. response.Close(); } catch(WebException er) { _logger.Error(er.Message + Environment.NewLine + er.ToString()); lstFeedback.Add("Error(#1): Upload threw out an exception. See log for further informations!"); } return lstFeedback; }
WebResponse response = request.GetResponse();
wirft die Exception aus!
- Bearbeitet tklustig Sonntag, 22. September 2019 21:53
-
Hi,
ohne den Server zu kennen und genau zu wissen, was Du da wo und wie aufrufen musst, kann man nicht sagen, ob das ein Server- oder ein Clientfehler ist.
Da man jede Webanwendung so schreiben kann, dass sie beliebige Statuscodes für alle möglichen Aktionen zurückgibt, kann der 404 auch aufgrund einer nicht verarbeitbaren Anfrage zurückgegeben werden, obwohl der Ziel URL eigentlich existiert (in der Regel sollte der Webentwickler dann zwar eigentlich einen 400 Status zurückgeben aber das ist nicht zwingend.
Poste daher bitte mal den exakten URL. Falls vorhanden und benötigt, kannst Du mir die Testzugangsdaten per Mail zukommen lassen. Ich sehe zwar in deinem Code keinen Hinweis darauf aber sicher ist sicher :)
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport -
Die Zugangsgangsdaten müssen innerhalb der BOD stehen. Die bekomme ich als Parameter und ersetze sie durch String.Replace(). Wie ist Deine Mailadresse?
Hier der Code der Klasse, die die URL zur Verfügung stellt:
namespace JaguarLandrover { internal static class ConnectionStrings { #region Propertys der Klasse public static string urlJaguarDns { get; private set; } public static string urlJaguarIp { get; private set; } public static string urlLandroverDns { get; private set; } public static string urlLandroverIp { get; private set; } #endregion #region weise den Propertys die Url zu public static void SetUrl() { ConnectionStrings.urlJaguarDns = "https://www.jlr.unipart.co.uk/unidial/uprnet/P/UprMaino2"; ConnectionStrings.urlJaguarIp = "https://193.38.61.193/unidial/uprnet/P/UprMaino2"; ConnectionStrings.urlLandroverDns = "https://www.jlr.unipart.co.uk/unidial/uprnet/P/UprMaino28"; ConnectionStrings.urlLandroverIp = "https://193.38.61.193/unidial/uprnet/P/UprMaino28"; } #endregion } }
-
Hi,
info@asp-solutions.de.
Wenn es eine Doku dazu gibt, schick mir die bitte auch grad mit.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport -
Hat sich nunmehr erledigt. Explizit Danke an Stefan.
Die URL war verkehrt. Folgende URLs erlauben die Verbindung
ConnectionStrings.urlJaguarDns = "https://www.jlr.unipart.co.uk/unidial/uprnet/P/UprMain02";
ConnectionStrings.urlLandroverDns = "https://www.jlr.unipart.co.uk/unidial/uprnet/P/UprMain28";
nicht
ConnectionStrings.urlJaguarDns = "https://www.jlr.unipart.co.uk/unidial/uprnet/P/UprMaino2";
ConnectionStrings.urlLandroverDns = "https://www.jlr.unipart.co.uk/unidial/uprnet/P/UprMaino28";