AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Bekomme XML-Datei via NetHTTPRequest.Post nicht hin.
Thema durchsuchen
Ansicht
Themen-Optionen

Bekomme XML-Datei via NetHTTPRequest.Post nicht hin.

Ein Thema von Roadrunner.1 · begonnen am 2. Jun 2019 · letzter Beitrag vom 9. Jun 2019
 
Roadrunner.1

Registriert seit: 3. Mai 2009
20 Beiträge
 
Delphi 10.3 Rio
 
#1

Bekomme XML-Datei via NetHTTPRequest.Post nicht hin.

  Alt 2. Jun 2019, 12:38
Hallo Comunity,
ich bin Neuling im Bereich "Internet-Anwendung" und bekomme es einfach nicht hin, eine XML-Datei für ein Login an einen Server (fehlerfrei) zu schicken.

Gesammtanforderung ist, sich mittels einer XML Datei bei einem Server anzumelden und dann in einem 2. Schritt eine andere XML Datei dorthin zu schicken
(eine Bestellung). Der Server verlangt "HTTPS" weshalb ich aufs neuste Delphi umgestiegen bin. Da die Installation der Software einfach sein sollte
habe ich ich für diese "NET" Komponenten entschieden um nicht openSSL beim User installieren zu müssen.

Ich habe mir eine XML Datei gebastelt (vom Type IXMLDOCUMENT), aufs Formular eine TNetHTTPClient und TNetHTTPRequest Komponete gesetzt,
dann im Object Inspector beim NetHTTPClient alle SecureProtocols angeklickt und beim NetHTTPRequst bei Client den NetHTTPClient eingetragen.

Im Quellcode geht's dann so weiter:

Delphi-Quellcode:
var
  ServerResponse:IHTTPResponse;
  LoginXML:IXMLDOCUMENT
begin
  // [Erstelle Inhalt von LoginXML]
  NetHTTPRequest.URL:='https://www.________________/CmdS.asmx';
  NetHTTPRequest.MethodString:='POST';
  ServerResponse:=Post(URL,LoginXML.XML, nil, TEncoding.UTF8);
end;
Als Antwort erhalte ich leider (in ServerResponse) Fehler 500: interner Server Error. Er beschwert sich das schon das 1.
übergebene Zeichen er nicht versteht (Zeile 1 Position 1). Nun halte ich mich aber genau an die Dokumentation die da
lautet:

Code:
<r c="1">
  <Login>Benutzername</Login>
  <Pwd>thePasswort</Pwd>
  <Stamp>theStamp</Stamp>
</r>
Auch ein Übergaben dieses Inhalts mittels einer TStringliste führt zur gleichen Serverrückmeldung.
Sowie diverse Änderungen am POST wie z.B.: TEncoding.Default, weglassen des letzten, der letzten 2
Parametern etc. änderte nichts an der Fehlermeldung. Eigentlich sollte vom Server ein XML zurück
gegeben werden indem entweder der Login bestätigt wird, oder mitgeteilt wird das der Login abgelehnt
wurde.

Vermutlich habe ich aber irgendwie ein Grundsätzliches Verständnisproblem oder irgend eine Einstellung
stimmt (noch) nicht. Kann mir irgend einer Erklären wie man sich bei einem Server via XML und HTTPS
anmeldet und dabei von Ihm eine XML zurück bekommt? Der 2. Schritt ist ja ähnlich, nur das da irgend
ein "Session Key" mit übergeben werden muss!? Aber eins nach dem anderen.

btw. In Wireshark konnte ich sehen das von Delphi 2 "Application Data"s (natürlich verschlüsselt) direkt
hintereinander geschickt werden. Vom Server kommt dann nur ein Application Data zurück.

ps. Ein Beispiel, ein Link zu einer Doku etc. würde mir eventuell auch schon weiter helfen, konnte aber
leider bisher nichts brauchbares finden.

Schon mal danke fürs lesen bis hierhin.
Christian Drenkard
--
mfg.
Christian Drenkard

Geändert von Roadrunner.1 ( 2. Jun 2019 um 12:44 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:48 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