Altova MapForce 2024 Enterprise Edition

In diesem Beispiel wird gezeigt, wie Sie mit MapForce einen generischen HTTP-Webservice aufrufen. Die Beschreibung des in diesem Beispiel aufgerufenen Webservice finden Sie unter https://app.swaggerhub.com/apis/FAA/ASWS/1.1.0. Dieser Webservice gibt Informationen über den Flughafenstatus verschiedener US-Flughäfen zurück (z.B. Flughafenschließungen, Verspätungen, usw.). Das Mapping-Design zu diesem Beispiel finden Sie unter dem folgenden Pfad: MapForceExamples\AirportStatus.mfd.

 

Es gibt in diesem Beispiel keine Request-Struktur und die Response-Struktur des Webservice ist ein DTD-Schema, das unter folgendem Pfad zur Verfügung steht: MapForceExamples\AirportStatus.dtd. Die Response wird auf eine XML-Komponente gemappt, die auf AirportStatus.dtd basiert.

 

Um den REST-Webservice zu konfigurieren, gehen Sie vor, wie unten beschrieben.

 

Schritt 1: Hinzufügen des Webservice-Aufrufs

In diesem Schritt soll eine Webservice-Aufruf-Komponente zum Mapping hinzugefügt und die Aufrufparameter konfiguriert werden. Gehen Sie folgendermaßen vor:

 

1.Stellen Sie sicher, dass als Transformationssprache des Mappings Built-in ausgewählt ist.

2.Klicken Sie im Menü Einfügen auf Webservice-Funktion. Daraufhin wird das Dialogfeld WebService-Call-Einstellungen (Abbildung unten) angezeigt.

3.Klicken Sie unter Service-Definition auf Manuell.

4.Setzen Sie die Request-Methode auf GET und geben Sie als URL https://nasstatus.faa.gov/api/airport-status-information ein.

mf_airportstatus_01

5.Klicken Sie im Abschnitt Strukturen des Dialogfelds WebService-Call-Einstellungen neben dem Feld Response auf die Schaltfläche Bearbeiten. Daraufhin wird das Dialogfeld Response-Struktur (siehe unten) geöffnet, in dem Sie das Schema der Webservice Response angeben müssen. Das Schema befindet sich unter dem folgenden Pfad: MapForceExamples\AirportStatus.dtd.

mf_airportstatus_02

6.Klicken Sie auf OK. Der Webservice steht nun im Mapping-Bereich zur Verfügung (siehe unten).

mf_airportstatus_03

 

Schritt 2: Hinzufügen der XML-Ausgabekomponente

Im zweiten Schritt sollen nun eine Zielkomponente hinzugefügt und Verbindungen zwischen dem Webservice-Call und der Zielkomponente erstellt werden. Gehen Sie folgendermaßen vor:

 

1.Klicken Sie im Menü Einfügen auf XML-Schema/Datei.

2.Klicken Sie auf Datei auswählen, navigieren Sie zur Datei MapForceExamples\AirportStatus.dtd und klicken Sie auf Öffnen.

3.Sobald Sie aufgefordert werden, eine XML-Beispieldatei anzugeben, klicken Sie auf Überspringen (eine XML-Beispieldatei wird nicht benötigt, da diese generiert wird).

4.Verbinden Sie den Node AIRPORT_STATUS_INFORMATION des Response Body des Webservice mit dem Node AIRPORT_STATUS_INFORMATION der XML-Komponente, wie unten gezeigt.

mf_airportstatus_06

 

Schritt 3: Ausführen des Mappings

Im letzten Schritt wird der Webservice nun aufgerufen. Klicken Sie auf die Schaltfläche Ausgabe um das Mapping auszuführen und eine Vorschau der generierten Ausgabe anzuzeigen. Wenn der Webservice-Aufruf erfolgreich ausgeführt werden konnte, wird im Fenster Ausgabe die zurückgegebene XML-Struktur angezeigt. Wenn der Aufruf nicht erfolgreich ist, gibt MapForce einen Fehler zurück. So erhalten Sie etwa eine HTTP-Code 404-Meldung, wenn die angeforderte Information nicht gefunden wurde.

 

Wir haben in unserem Beispiel die folgenden Informationen über Flughafen-Status empfangen:

 

<AIRPORT_STATUS_INFORMATION>

 <Update_Time>Fri Sep 15 12:04:41 2023 GMT</Update_Time>

 <Dtd_File>http://www.fly.faa.gov/AirportStatus.dtd</Dtd_File>

 <Delay_type>

         <Name>Airport Closures</Name>

         <Airport_Closure_List>

                 <Airport>

                         <ARPT>BOS</ARPT>

                         <Reason>!BOS 09/153 BOS AD AP CLSD TO NON SKED TRANSIENT GA ACFT EXC PPR 617-561-2500 2309081532-2310010359</Reason>

                         <Start>Sep 08 at 15:32 UTC.</Start>

                         <Reopen>Oct 01 at 03:59 UTC.</Reopen>

                 </Airport>

                 <Airport>

                         <ARPT>LAS</ARPT>

                         <Reason>!LAS 07/017 LAS AD AP CLSD TO NON SKED TRANSIENT GA ACFT EXC PPR 702-261-7775 2307072300-2310052300</Reason>

                         <Start>Jul 07 at 23:00 UTC.</Start>

                         <Reopen>Oct 05 at 23:00 UTC.</Reopen>

                 </Airport>

                 <Airport>

                         <ARPT>BCT</ARPT>

                         <Reason>!MIA 09/078 BCT AD AP CLSD EXC HEL OPS FM ALL APN MON-FRI 0100-1100 2309110100-2309291100</Reason>

                         <Start>Sep 11 at 01:00 UTC.</Start>

                         <Reopen>Sep 29 at 11:00 UTC.</Reopen>

                 </Airport>

         </Airport_Closure_List>

 </Delay_type>

</AIRPORT_STATUS_INFORMATION>

 

Wenn Sie MapForce Server installiert haben, können Sie das Mapping auch zu einer Mapping-Ausführungsdatei (*.mfx)-Datei kompilieren und es über die Befehlszeile oder über die MapForce Server API auf dem Server-Rechner, auf dem MapForce Server ausgeführt wird, ausführen (siehe Kompilieren von Mappings zu MapForce Server-Ausführungsdateien ).

 

Sie haben nun einen generischen HTTP-Webservice-Aufruf erstellt, in dem der Flughafenstatus mit Hilfe einer GET-Methode in Echtzeit abgerufen wird. Nähere Informationen zum Arbeiten mit generischen Webservices finden Sie unter Hinzufügen eines Webservice-Aufrufs (REST).

 

© 2017-2023 Altova GmbH