![]() |
AW: XLM Payload als Post
Hier eine Anleitung zur Schnittstelle, habe es immer noch nicht! :shock:
Der API Aufruf für Einsatzdaten ist an einen Fireboard-Portal-Account gekoppelt. Ein Fireboard-Portal-Account hat für diese API einen Authentifizierungsschlüssel (authkey) der jedem Aufruf mit gegeben werden muss. Zusätzlich muss der Aufruf durch einen Aufrufschlüssel (call) identifiziert werden. Folgende API-URL ergibt sich demzufolge: http://login.fireboard.net/api?authkey={key}&call=operationData Dem Aufruf wird ein XML Payload als POST mitgegeben. Die Daten für einen Einsatz enthalten die wichtigsten einsatzrelevanten Angaben: Einsatzstichwort Alarmnachricht Einsatzbeginn Leitstellennummer Einsatzort (plus geografische Koordinate im Dezimalgradformat) Lagebeschreibung Zusätzlich muss jeder Einsatz eine eindeutige Einsatzidentifikationsnummer besitzen um nachträglich eingelieferte Daten diesem Einsatz zuordnen zu können. Die Einsatzidentifikationsnummer muss für jeden einzelnen Kunden eineindeutig sein (also nach authkey). Datenstruktur <?xml version="1.0" encoding="UTF-8"?> <fireboardOperation version="1.0"> <uniqueId>11A1411EAB213194334CED</uniqueId> <basicData> <externalNumber>OF120137</externalNumber> <keyword>F2</keyword> <announcement>Wohnungsbrand</announcement> <location>Testphasen, Teststrasse 1</location> <geo_location> <latitude></latitude> <longitude></longitude> </geo_location> <timestampStarted> <long>1458028846582</long> </timestampStarted> <situation>Notruf über Anwohner</situation> </basicData> </fireboardOperation> <uniqueId> ist als Pflichtfeld zu verstehen, alle anderen Angaben innerhalb von <basicData> sind optional. Werden Felder frei gelassen, so befüllt das Fireboard-Portal die entsprechenden Felder mit plausiblen Daten zur späteren Anzeige im Portal. Wenn <timestampStarted> nicht befüllt wird, so übernimmt Fireboard zur Anzeige das Datum der Einlieferung der Daten. Eine spätere Korrektur auf <timestampStarted> ist jedoch möglich. |
AW: XLM Payload als Post
Was genau ist das Problem?
Das Handbuch ist falsch. Es ist wie gesagt HTTPS!!!!! noch immer...wie schon oft erwähnt und durch HTTP-Code 301 bestätigt.. |
AW: XLM Payload als Post
hey,
komme mit dem Fehler Code E/A 105 nicht klar! Habe es noch nicht verstanden :-( |
AW: XLM Payload als Post
Du hast in deinem Quelltext
Delphi-Quellcode:
stehen.
Writeln('iwas');
Entferne diese oder kommentiere sie aus. Das kommt daher, dass Delphi versucht diese Informationen auf die Konsole zu schreiben, du aber keine hast ;-) Und wenn nichts da ist, knallt es eben. |
AW: XLM Payload als Post
Hallo ZGD,
bekomme jetzt noch als Meldung: Wert für IOHandler ist ungültig?
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var HTTP: TIdHTTP; RequestBody: TStream; ResponseBody: string; begin HTTP := TIdHTTP.Create; try try RequestBody := TStringStream.Create('{123456789}', TEncoding.UTF8); try HTTP.Request.Accept := 'input.xml HTTP/1.0'; HTTP.Request.ContentType := 'application/x-www-form-urlencoded'; ResponseBody := HTTP.Post('https://login.fireboard.net/api?authkey={123456789}&call=operation_data', RequestBody); //WriteLn(ResponseBody); // WriteLn(HTTP.ResponseText); finally RequestBody.Free; end; except on E: EIdHTTPProtocolException do begin Showmessage(E.Message); Showmessage(E.ErrorMessage); end; on E: Exception do begin ShowMEssage(E.Message); // Fehlermeldung : Wert für IOHandler ist ungültig !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! end; end; finally HTTP.Free; Memo1.Lines.Insert(0, FormatDateTime('hh:nn:ss',Now)); end; //ReadLn; //ReportMemoryLeaksOnShutdown := True; end; |
AW: XLM Payload als Post
Zitat:
Die aktuelle Indy Version erzeugt für HTTPS automatisch einen passenden IOHandler. Lösung: entweder den passenden TIdIOHandlerOpenSSL erzeugen und der IOHandler Property zuweisen, oder Indy aktualisieren. |
AW: XLM Payload als Post
Hallo,
würde mich für diese Lösung entscheiden: Lösung: entweder den passenden TIdIOHandlerOpenSSL erzeugen und der IOHandler Property zuweisen, Wie würde so eine Zuweisung aussehen? |
AW: XLM Payload als Post
Hallo,
meinst Du das so? "HTTP.IOHandler.AllData(nl);" +nl +nl und so weiter.......??
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var HTTP: TIdHTTP; RequestBody: TStream; ResponseBody,nl: string; begin HTTP := TIdHTTP.Create; try try RequestBody := TStringStream.Create('{123456789}',TEncoding.UTF8); try HTTP.Request.Accept := 'input.xml HTTP/1.0'; HTTP.Request.ContentType := 'application/x-www-form-urlencoded'; ResponseBody := HTTP.Post('https://login.fireboard.net/api?authkey={123456789}&call=operation_data', RequestBody); HTTP.IOHandler.AllData(nl); // in etwa so? finally RequestBody.Free; end; except on E: EIdHTTPProtocolException do begin Showmessage(E.Message); Showmessage(E.ErrorMessage); end; on E: Exception do begin Memo1.Lines.Insert(0,(E.Message)+' '+FormatDateTime('hh:nn:ss',Now)); end; end; finally HTTP.Free; Memo1.Lines.Insert(0,'Zeitstempel '+ FormatDateTime('hh:nn:ss',Now)); end; end; |
AW: XLM Payload als Post
|
AW: XLM Payload als Post
Habe mir die Beispiele angesehen, mache ich doch!
Versehe ich nicht??
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var HTTP: TIdHTTP; RequestBody: TStream; ResponseBody: string; begin HTTP := TIdHTTP.Create; try try RequestBody := TStringStream.Create('{123456789}',TEncoding.UTF8); try HTTP.Request.Accept := 'input.xml HTTP/1.0'; HTTP.Request.ContentType := 'application/x-www-form-urlencoded'; ResponseBody := HTTP.Post('https://login.fireboard.net/api?authkey={123456789}&call=operation_data',RequestBody); // hier wird der Key doch übermittelt! finally RequestBody.Free; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:14 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