Delphi-PRAXiS
Seite 6 von 7   « Erste     456 7      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   XLM Payload als Post (https://www.delphipraxis.net/189945-xlm-payload-als-post.html)

strom 18. Aug 2016 09:01

AW: XLM Payload als Post
 
Oh...,

die Software ist aber sehr komplex! (bestimmt ein gutes Debug Programm)
Aber bis ich alle Funktionen verstanden habe, brauche ich ja ein halbes Jahr!

Was gibt es sonst noch für Optionen?

Zitat:

Vergleiche mal einen funktionierenden Request mit einem nicht funktionierenden (z.B. mit http://www.telerik.com/fiddler).

-=ZGD=- 18. Aug 2016 09:09

AW: XLM Payload als Post
 
Poste deine komplette Unit ;-)

strom 18. Aug 2016 09:14

AW: XLM Payload als Post
 
Hallo,

nochmal zum Telerik Fiddler Web Debugger.

Wenn ich was im Webbrowser eingebe wird ein Logfile (Telerik) erstellt!
Wenn ich was mit meinem Programm mache, passiert im Logfile (Telerik) nichts!

-=ZGD=- 18. Aug 2016 09:56

AW: XLM Payload als Post
 
Was ja klar ist, denn dein Programm hat keine Verbindung zu Telerik

Dafür musst du das Fadenkreuz (Any Process) benutzen und über deine Anwendung fahren.

strom 18. Aug 2016 10:17

AW: XLM Payload als Post
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo ZGD,

habe doch (siehe Bild) Einstellungen vorgenommen.

Danke, für Deine hartnäckigen Nerven 8-) !
Ich verstehe bald gar nichts mehr!

-=ZGD=- 18. Aug 2016 10:19

AW: XLM Payload als Post
 
Hm, dann gibts vllt ein Problem mit den Adaptern..ich hab Fiddler noch nie benutzt. Ich kann grad nur ins Blaue raten ;-)

strom 18. Aug 2016 10:31

AW: XLM Payload als Post
 
Alles .... :?,

am Adapter liegt es glaube ich nicht, alle anderen Funktionen "Socket" usw. funktioniert ja!
Der Browser usw. auch!

Wie gesagt, verstehe es nicht!

strom 18. Aug 2016 10:36

AW: XLM Payload als Post
 
Hier nochmal die Offizielle Anleitung zur Schnittstelle!
Vielleicht hat jemand noch eine andere Idee?

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:

https://login.fireboard.net/api?authkey={key}&call=operation_Data

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.

-=ZGD=- 18. Aug 2016 10:53

AW: XLM Payload als Post
 
Wie gesagt, bei mir hat es bereits funktioniert.
Ich habe OK im Response erhalten.

strom 18. Aug 2016 11:03

AW: XLM Payload als Post
 
ok, hier nochmal zum prüfen!

Delphi-Quellcode:
function ExecuteAPI: string;
var
 http: TIdHttp;
 params: TStringList;
begin
 try
  http := TIdHTTP.Create(nil);
  params := TStringList.Create;
  params.Add('<?xml version="1.0" encoding="UTF-8"?>');
  params.Add('<fireboardOperation version="1.0">');
  params.Add('<uniqueId>123456789</uniqueId>');
  params.Add('<basicData>');
  params.Add('<externalNumber>OF120131</externalNumber>');
  params.Add('<keyword>F2</keyword>');
  params.Add('<announcement>Wohnungsbrand</announcement>');
  params.Add('<location>Test, Teststrasse 1</location>');
  params.Add('<geo_location>');
  params.Add('<latitude>123456</latitude>');
  params.Add('<longitude>654321</longitude>');
  params.Add('</geo_location>');
  params.Add('<timestampStarted>');
  params.Add('<long></long>');
  params.Add('</timestampStarted>');
  params.Add('<situation>Notruf</situation>');
  params.Add('</basicData>');
  params.Add('</fireboardOperation>');
  http.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
  Form3.Memo8.Lines.Insert(0,http.Post('https://login.fireboard.net/api?authkey=TFqeZsuEOtrVp1YvWfe49w5f9dgB1yUI&call=operation_Data', params) +' '
   + FormatDateTime ('dd.mm.yyyy , hh:nn:ss', Now));
  params.saveToFile(ExtractFilePath(ParamStr(0)) +'xml/'+Form3.Edit2.Text +'.xml');
  Form1.Client_eGrid.Socket.SendText (Trim(Form3.Memo8.Lines[0])); //Problem Zeilenumbruch Memo8 !
 finally
  params.Free;
 end;
end;
Delphi-Quellcode:
procedure TForm3.BitBtn10Click(Sender: TObject);
begin
 ExecuteAPI;
  Memo3.Lines.Insert(0,'Fireboard --->'+ ' ' +FormatDateTime ('dd.mm.yyyy , hh:nn:ss', Now));
 end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:17 Uhr.
Seite 6 von 7   « Erste     456 7      

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