Einzelnen Beitrag anzeigen

Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
659 Beiträge
 
Delphi 12 Athens
 
#2

AW: Probleme mit REST von 10.2.3 nach 10.3.1

  Alt 3. Sep 2019, 16:54
Ein kleines Update zum Thema. Leider ist es noch nicht komplett gelöst, aber etwas weiter bin ich schon.

Mit dem Wechsel von 10.2.3 auf 10.3.1 wurden die SOAP-Bibliotheken von Delphi im Hintergrund für die Übertragung von WinInet auf die WinHttp-Api von Windows umgestellt. Dabei sind leider gleich mehrere Sachen kaputtgegangen, die aber immerhin zum Teil in 10.3.2 schon wieder repariert wurden.

Das erste: die Fehlermeldungen, die man bei Problemen mit SOAP in 10.3.1 bekommen hat, waren selbst leider auch fehlerhaft. Es kam die besagte Fehlermeldung "Leeres Dokument", welche ja nicht wirklich weiterhilft. Nach einem Update auf 10.3.2 erhält man eine hilfreichere Fehlermeldung: 401 Unauthorized.

Das führt zum zweiten (eigentlichen) Problem: Wenn der Web Service in einem lokalen Netz auf einem Windows-Server läuft, dann war es bisher möglich, sich mit den aktuellen Windows Credentials anzumelden (NTLM) - man musste nicht seperat noch einmal Benutzername und Passwort speichern. Diese Funktion ist auf dem Weg von 10.2.3 nach 10.3.1 ebenfalls kaputtgegangen, offenbar aber durch ein Problem in der WinHttp-Api, nicht in Delphi direkt (hier beschreibt ein User das Problem und einen möglichen Workaround bei Stackoverflow). In Delphi 10.3.2 gibt es eine neue Propperty im HTTPWebNode vom HTTPRio, nämlich "UseDefaultCredentials", welche genau das macht, was der User auf Stackoverflow als Patch vorgeschlagen hat. Bei einem ersten kurzen Test beim Kunden hat es allerdings leider noch nicht geholfen - ich bekomme weiterhin einen 401.

Wenn ich Benutzername und Pssswort manuell in meinem Programm angebe und damit die HTTPWebNode-Eigennschaften Username und Password setze, dann funktioniert übrigens in allen Delphi-Versionen (10.2.3, 10.3.1, 10.3.2) alles problemlos. Aber alle Login-Daten, die ich nicht speichern muss, finde ich gut und würde daher eigentlich gerne weiter die Windows-Anmeldung benutzen, was zumindest ja auch in 10.3.2 auch wieder funktionieren müsste.

Wenn jemand dazu also noch etwas weiß, dann gerne immer her mit Tipps und Infos. Ansonsten schreibe ich hier irgendwann mal drunter, wenn ich eine endgültige Lösung gefunden haben sollte.
  Mit Zitat antworten Zitat