Das der Server erreichbar ist, bedeutet nicht zwingend, dass auch eine stabile Verbindung aufgebaut werden kann.
Momentan arbeite ich an einem Programm, dass die Ausgabe bestimmter Server auf Korrektheit (inhaltlich und technisch) prüfen soll.
Die Server sind prinzipiell verfügbar (Ping funktioniert immer).
Trotzdem erhalte ich sporadisch diverse Fehlermeldungen, die da wären:
Code:
400 Bad Request
500 Internal Server Error
502 Bad Gateway
502 Server Hangup
504 Gateway Timeout
Ab und an auch mal SSL-Fehler.
Allen Fehlern ist gemein, dass eine erneute, identische Abfrage (früher oder später (Sekunden, immer unter einer Minute)) zum erwartete, korrekten Ergebnis führen.
Wo es hier genau "klemmt" konnte noch nicht herausgefunden werden.
Kann mich daran erinnern, dass wir mal in einem großen Netz Probleme mit der Verbindung zu 'ner Oracle-Datenbank hatten. Diese Probleme traten aber nur auf einigen Rechnern und sporadisch auf. Die Datenbank war immer einwandfrei verfügbar.
Irgendwann hat jemand herausgefunden, dass u. a. der Virenscanner da irgendwie "zwischenfunkte" (nach Update und Umkonfiguration wurde es besser).
Bei einigen Rechnern blieb das Problem aber bestehen: Hier konnte festgestellt werden, dass sie alle, von der Datenbank aus gesehen, hinter einem Switch hingen, der zwar (noch) arbeitete, aber nicht immer so ganz korrekt. Nach dem Austausch dieses Gerätes war das Problem dann behoben.
Es gibt da halt viele Möglichkeiten als Ursache für eine fehlerhafte Kommunikation zwischen Client und Server. Die Software kann eine davon sein, muss aber nicht zwingend die einzige Ursache sein.
Schwierig wird die Ursachenforschung, wenn man unterschiedliche System hat, die über unterschiedliche Verbindungen kommunizieren und dabei auch noch unterschiedliche Softwarestände haben, das kann dann schonmal viele Nerven kosten.
Hast Du die Möglichkeit in die jeweiligen Serverlogs zu schauen, um zu prüfen, ob dort die Anfragen Deiner Software korrekt ankommen und der Server auch darauf antwortet?
Erstmal 'ne blöde Idee:
Die beiden Anfragen könnte man ja auch (zum Test) mit den Indykomponenten (oder ICS oder was auch immer zur Verfügung steht) machen. Funktioniert das und sind die Ergebnisse korrekt? Dann wäre der Fehler eindeutig im Umfeld der MSXML3.DLL zu suchen.