![]() |
DHL API über winhttp
Hallo,
ich versuche die DHL Soap API für den Paketversand über die winhttp.dll anzusprechen. Bei Requests, die mit SoapUI einen Response erhalten, erhalte ich bei einem Aufruf über WinHttpSendRequest keine Antwort. WinHttpReceiveResponse und WinHttpReadData liefern nur 0 Bytes. Wenn ich den Status nach WinHttpReceiveResponse abfrage, erhalte ich eine 401, obwohl ich https verwende. Es erfolgen auch keinerlei Fehlermeldungen, die CIG-Authentifizierung ist scheinbar auch erfolgreich, denn sonst erhalte ich eine signifikante Fehlermeldung. Ich habe schon mit versucht mit WinHttpSetOption und WINHTTP_OPTION_SECURE_PROTOCOLS auf TLS 1 umzustellen, das hat aber auch nichts gebracht. Der DHL Support verwies auf die neuen Verschlüsselungsverfahren und gibt eine Reihe von Cipher Suites vor, nur wie kann man die bei WinHTTP vorgeben? Hat jemand hier eine aktuelle funktionierende Anbindung zu DHL und kann mir da einige Tipps geben. Älter Lösungen habe ich hier schon gesehen, aber die funktionieren leider nicht mehr. |
AW: DHL API über winhttp
Zitat:
Die Cipher Suites des HTTPS Servers von DHL kann man z.B. unter ![]() Wir greifen auch auf DHL zu, allerdings gibt es verschiedene Web Services. Welche Endpunkt Adresse ist es konkret? |
AW: DHL API über winhttp
Hallo,
zur Zeit gehe ich über ![]() Ich hab mir auch die Komponente über WSDL erzeugt, aber noch nicht weiter getestet. Da ich das ganze später auch in eine externen Prozess in C++ auslagern will, wäre mir winhttp lieber. Wie sprecht Ihr den den Web-Service an? |
AW: DHL API über winhttp
Wie ist die API denn abgesichert? 401 könnte auch der Start einer Digest-Authentication sein. Dort wird die Challenge mit einem 401 geschickt und der Server wartet anschließend auf die Response.
|
AW: DHL API über winhttp
Zitat:
![]() Der Hinweis auf den 401 Status Code sehe ich als "besten Kandidaten" für die Fehlersuche. 401 ist allerdings nicht Digest-spezfisch. Es kan auch eine einfache Basic-Uathentication sein. Bei Aufruf des Endpunkts in meinem Browser erscheint ein Basic Auth Logindialog und im HTTP Antwortheader steht WWW-Authenticate:"Basic realm="CIG Sandbox Services"" |
AW: DHL API über winhttp
Zitat:
![]() (Siehe ![]() |
AW: DHL API über winhttp
Die Zugangsdaten setze ich ja schon mit
WinHttpSetCredentials (hRequest, WINHTTP_AUTH_TARGET_SERVER, WINHTTP_AUTH_SCHEME_BASIC, UserName, Password, nil); Wenn ich da falsche Daten angebe erfolgt auch eine klare Fehlermeldung im Response. |
AW: DHL API über winhttp
Zitat:
|
AW: DHL API über winhttp
mhh bei Basic müsste Pre-Authentication eigentlich funktionieren. Fiddler ist auf jeden Fall das Mittel der Wahl.
Wenn man nicht mit Pre-Authentication arbeitet, dann sieht der Workflow für die Anmeldung laut MSDN übrigens so aus: Zitat:
|
AW: DHL API über winhttp
Aus purer Neugier: Warum eigentlich über WinHTTP?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz