Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Indy Authentifikation (https://www.delphipraxis.net/195133-indy-authentifikation.html)

handson 5. Feb 2018 12:18

Indy Authentifikation
 
Hallo!

Ich habe gerade ein Problem mit der Anbindung an DHL. Ich mach das nicht mit eigenen SOAP, sondern übermittle die Daten als XML mit Indy. Mit der Textumgebung von DHL funktioniert das auch alles Prima und bekomme auch einen vernünftigen Response.
Nun wollte ich das auf das produktive System umstellen und bekomme einen Fehler HTTP 500.
Schaue ich mir das mal ganz einfach durch einen Aufruf im Webbrowser auf, stelle ich fest, dass er 2x eine Authentifikations-Abfrage macht (beim Testbereich mit er nur eine). Somit vermute ich mal, dass es daran liegt.
Nun meine Frage... wie bringe ich Indy das bei, dass er 2x die Abfrage mit den entsprechenden Daten bestätigt?

kurzer Ausriss meines Codes:

Delphi-Quellcode:
:
:
        idHTTP.Request.Username := 'User1';
        idHTTP.Request.Password := 'Passwort1';
        idHTTP.Request.BasicAuthentication := True;
        Response := idHTTP.Post('https://cig.dhl.de/services/production/soap',RequestStream);
:
:
Hat da vielleicht jemand eine Idee und sogar vielleicht mit DHL gearbeitet?
Vielen Dank erst einmal!

Stephan

mjustin 5. Feb 2018 12:27

AW: Indy Authentifikation
 
Ein Webbrowser speichert die einmal erfolgreich verwendeten Anmeldedaten einer Basic-Authentifizierung normalerweise weiter, bis man ihn schließt. Daher kann das erneute Abfragen der Anmeldedaten nicht dadurch erklärt werden dass der Server zweimal nach dem Passwort fragt.

Was genau geschieht denn im Browser, wodurch es zu einer zweiten Abfrage kommt?

Im Web Browser wird im Entwicklermodus (F12) dazu eventuell mehr angezeigt.

Delphi.Narium 5. Feb 2018 13:08

AW: Indy Authentifikation
 
Ist das HTTP 500 die ganze Fehlermeldung?

Oder gibt es da noch ein paar Zusatzinfos?

Wie z. B.: HTTP/1.1 500 No service found

Fehlerhafte Anmeldungen werden gewöhnlich mit dem Fehler 403 quittiert.

HTTP-Statuscodes: https://de.wikipedia.org/wiki/HTTP-Statuscode

Ist da irgendwas brauchbares bei? https://www.google.de/search?q=+%22h...fox-b-ab&dcr=0

handson 5. Feb 2018 15:01

AW: Indy Authentifikation
 
Ja, das im Webbrowser ist sehr merkwürdig. Es wird keine neue URL angezeigt u.ä. Es kommt einfach ein anderes Anmeldefenster, wo halt ein anderer Seitenname drin steht. Und aus dem wird man auch nicht schlau...

Sorry, die vollständige Fehlermeldung HTTP/1.1 500 Server Error.
Bei Google habe ich auch schon erfolglos gesucht...

handson 5. Feb 2018 15:47

AW: Indy Authentifikation
 
Ha! Problem gelöst. Da fehlte was im Anfrage-Header: SOAPAction: "urn:createShipmentOrder"
Und somit funktioniert es.
Trotzdem vielen Dank für die Hinweise!

Stephan

himitsu 5. Feb 2018 16:53

AW: Indy Authentifikation
 
Zitat:

Zitat von handson (Beitrag 1393122)
Ha! Problem gelöst. Da fehlte was im Anfrage-Header: SOAPAction: "urn:createShipmentOrder"

Dennoch komisch, denn da hätte der Server doch eigentlich die Abfrage bemängeln müssen (4xx Client ist doof)
und nicht gleich der ganze Server abrauchen (5xx Server kaputt), aber ist nicht dein Fehler.
https://de.wikipedia.org/wiki/HTTP-S..._Client-Fehler


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:09 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz