Altova MapForce 2025 Enterprise Edition

Struktur eines Webservice-Aufrufs

Zur Startseite Zurück Nach oben Weiter

In diesem Kapitel wird erklärt, woraus ein Webservice-Aufruf besteht und es wird ein Beispiel eines Mappings mit einem Aufruf einer HTTP API beschrieben.

 

Im unten gezeigten Mapping wird ein GET Request an eine HTTP API gesendet, um ein Produkt auf Basis seiner ID abzurufen. Die Informationen über das Produkt werden in einer JSON-Datei ausgegeben.

mf_ws_02

Die Webservice-Aufruf-Komponente besteht aus zwei Teilen: Request und Response. Im Request-Teil können Sie Daten aus dem Mapping für den Webservice bereitstellen. Im Response-Teil können Sie die vom Webservice zurückgegebenen Daten aufrufen und auf andere Formate mappen. Die vom Service zurückgegebenen Daten werden in unserem Beispiel auf eine JSON-Datei gemappt.

 

Request

Der Request enthält eine Reihe von Parametern und einen Request Body.

 

Parameter

Über die Parameter werden die benötigten Informationen an den Server übergeben, der den Request verarbeitet und eine entsprechende Antwort (Response) zurückgibt. Es gibt verschiedene Parametertypen (z.B. Pfadparameter, Abfrageparameter), die zu verschiedenen Zwecken dienen (z.B. zum Filtern, Sortieren und Durchsuchen von Daten, zum Übergeben von Authentifizierungsinformationen).

 

In unserem Beispiel hat die für den HTTP Request bereitgestellte ID den Konstantenwert 2. Das bedeutet, das wir Details über das Produkt mit dieser ID abrufen möchten. Außerdem enthält der Request zwei Header-Parameter: Accept und Accept-Charset. Der Parameter Accept hat den Konstantenwert application/json. Dieser bezieht sich auf den Inhaltstyp, den MapForce vom Server abrufen möchte. Parameter können im Dialogfeld Webservice Call-Einstellungen definiert werden (siehe Parameter).

 

Body

Im Webservice-Aufruf oben ist die Struktur des Request Body nicht definiert, da nur ein Request mit einem Header und Vorlagenparametern gesendet werden soll. Eine Definition der Struktur des Request Body wäre z.B. dann sinnvoll, wenn Sie POST-, PUT- und PATCH-Operationen durchführen möchten.

 

Response

Der Response-Teil des Aufrufs enthält einen Statuscode, Header und einen Response Body.

 

Statuscode

Der HTTP-Statuscode ist eine dreistellige Zahl (z.B. 404), die vom Server gesendet wird, um Informationen über das Ergebnis des Request bereitzustellen.

 

Header

Header enthalten wichtige Metadaten über die Response (z.B. den Typ des zurückgegebenen Inhalts) und geben MapForce Informationen darüber, wie die Response verarbeitet werden soll.

 

Auch die vom Webservice zurückgegebenen Response Header können gemappt werden, wenn es sich um zusätzliche Header handelt (solche, die nicht mit Content beginnen). Der Header-Node der Response-Struktur enthält zwei untergeordnete Datenelemente: Name und Value.

 

Body

Der Response Body erhält vom Server zurückgesendeten Inhalt. Das Aussehen des Response Body hängt von der ausgewählten Response-Struktur ab.

 

Daten auf dieser Ebene sind binär kodiert, daher werden für eine direkte Interaktion mit diesen Daten MapForce mime-Funktionen benötigt. Beachten Sie, dass normalerweise keinerlei Interaktion mit dem Body erforderlich ist, wenn vom Webservice strukturierte Daten wie z.B. XML oder JSON erwartet werden. Das Mappen von Daten direkt von oder auf den Body ist nur beim Aufruf von Webservices, die unstrukturierten Inhalt erwarten oder zurückgeben, notwendig.

 

Standardmäßig ist das Datenelement Body so konfiguriert, dass das Ergebnis geparst wird, wenn der HTTP-Statuscode zwischen 200 und 299 liegt. D.h. das Mapping gibt für Statuscodes über 299 einen Fehler zurück. Außerdem wird auch dann ein Fehler zurückgegeben, wenn die Response nicht geparst werden kann oder der Webservice aufgrund einer nicht zustande gekommenen Verbindung oder DNS-Auflösungsproblemen nicht aufgerufen werden kann.

 

In einigen Fällen soll jedoch auch bei HTTP-Statuscodes, die über 299 liegen, kein Fehler ausgegeben werden. Klicken Sie dazu auf die Schaltfläche excel1-compicon neben dem Response Body und ändern Sie den HTTP-Statuscodebereich. Alternativ dazu können Sie auch mehrere Response Body-Datenelemente erstellen. So können Sie etwa einen Body erstellen, der ein erfolgreiches Resultat behandelt und einen weiteren für die Fehlerbehandlung. Nähere Informationen zu einer solchen Konfiguration finden Sie unter Fehlerbehandlung in HTTP APIs.

 

© 2019-2025 Altova GmbH