Liebe Gemeinde!
Wir verwenden
SOAP Requests in unserem Programm, dei auch grundsätzlich funktionieren. Aber einer, bei dem auch ein Attachment dran ist, das etwas größer ist, macht uns Sorgen. Hier steigt Delphi in System.Net.HttpClient.Win an der Stelle aus, wo die Daten an den Server geschickt werden. Nach etwa 100kB Daten (von ertwa 400kB) ist es mit
"Fehler beim Senden der Daten: (12152) Der Server lieferte eine ungültige oder unbekannte Rückmeldung"
vorbei.
Ich habe gesehen, dass die Implementierung dieser Komponenten im Vergleich zu Delphi 10.2 komplett überarbeitet wurde.
Pervers ist, dass es funktioniert, wenn ein Haltepunkt an der Stelle, wo ein
// Send Request
if not WinHttpSendRequest(LRequest.FWRequest, WINHTTP_NO_ADDITIONAL_HEADERS, 0, WINHTTP_NO_REQUEST_DATA, 0, LDataLength, 0) then
Exit(HandleExecuteError(@SNetHttpClientSendError, ARequest));
gemacht wir und ich dort so in etwa 5 Sekunden warte.
Es gibt keine parallelen Requests, die hier aus irgendwelchen Threads dazwischenfunken könnten.
Ich bin schon wieder mal ratlos. Ich könnte natürlich den kompletten System.Net.HttpClient.* Code aus Delphi 10.2 verwenden...ODer zumindest die DoExecuteRequest Methode. Aber gefallen tut mir das nicht :/
Stefan
Stefan