![]() |
RESTClient mit SSL
Liste der Anhänge anzeigen (Anzahl: 1)
Ich muss via REST einen WebService anzusprechen. Ich habe schon SMTP, FTP und alles mögliche mit Delphi verwendet, aber die TRESTClient-Componenten sind undurchsichtig. Mit Hilfe von mehren Beiträgen aus den Foren hier, habe ich Folgendes gebaut und nun eine neue Fehlermeldung.
Ich muss z.B. diese Anforderung erzeugen: curl --request POST \ --url ![]() --header 'accept: application/json' \ --header 'content-type: application/json' \ --data ' { "clientName": "APITEST", "userName": "APITEST1", "password": "APITEST2", "localeName": "en", "isExternalLogon": "true" }' Die libeay32.DLL und ssleay32.DLL fürs SSL habe ich im Programmpfad liegen. Woran könnte der Fehler "HTTP 415 Unsupported Media Type" liegen ? |
AW: RESTClient mit SSL
TRESTClient verwendet die Systemfunktionen für SSL, daher sind die OpenSLL DLLs nicht notwendig.
Bei deinem Beispiel gibt es allerdings einen Unterschied bei den URLs - ich gehe mal von einem Tippfehler aus, da die URL ja offenbar nicht real ist. Bezüglich des HTTP-Fehlers: Gib doch bitte beim AddBody als zweiten Parameter mal den korrekten ContentType an. |
AW: RESTClient mit SSL
Wahrscheinlich wurde von dir Content-Type oder Content-Encoding nicht oder nicht richtig angegeben.
Der Fehler kann auch auftreten wenn der Server den Content selbst analysiert und damit nicht zufrieden ist. |
AW: RESTClient mit SSL
JSON in its standardized format doesn't have line beaks or spaces outside names and values ("").
While HTTP 415 is telling you the media or in this case the payload unrecognized format, so most likely and i am guessing here, Memo1.Text does have a valid JSON but not formatted correctly like it is beautified just like the your data content above or written over multiline, meaning you need to compact it also make sure it is trimmed before sending. |
AW: RESTClient mit SSL
Zitat:
|
AW: RESTClient mit SSL
Für die Übergabe von Daten muß ich jetzt in den HTTP-Header folgende Anweisung einfügen:
Authorization: Basic 12345678901234567890= Mit ... Request.Params.AddItem('Authorization','Basic 12345678901234567890=', TRESTRequestParameterKind.pkREQUESTBODY, [], TRESTContentType.ctAPPLICATION_JSON); kommt wieder HTTP-Fehler 415. Hab noch bissel probiert, damit geht es ... Request.Params.AddItem('Authorization','Basic 12345678901234567890=', pkHTTPHEADER, [], ctAPPLICATION_JSON); aber es kommt => {"errorMessage":"Authentication required"} Wie mache ich das korrekt? |
AW: RESTClient mit SSL
Delphi-Quellcode:
Request.AddAuthParameter(HTTP_HEADERFIELD_AUTH, 'Basic 12345678901234567890=', TRESTRequestParameterKind.pkHTTPHEADER, [TRESTRequestParameterOption.poDoNotEncode]);
|
AW: RESTClient mit SSL
Spitze :-D auch das hat funktioniert.
Und ich habe meine ersten Daten per WEB-Service übertragen und das nach 38 Jahren Programmierung (Turbo-Pascal .. Delphi5 .. Delphi10) Vielen DANK !!! PS: Ich mußte HTTP_HEADERFIELD_AUTH durch 'Authorization' ersetzen, das kannte mein Delphi10 nicht. |
AW: RESTClient mit SSL
Jetzt fehlt nur noch, die Response auszuwerten - vermutlich wird irgend ein Zugriffstoken zurückgegeben.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:39 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