Webservice-Aufrufe
Sie können in MapForce HTTP APIs und WSDL-basierte Dienste als Mapping-Funktionen verwenden. Allgemeinere Informationen zu unterstützten Webservices finden Sie unter Webservices.
Hinzufügen eines Webservice-Aufrufs
Um einen Webservice-Aufruf hinzuzufügen, gehen Sie vor, wie unten beschrieben:
1.Klicken Sie auf die Symbolleisten-Schaltfläche . Klicken Sie im Menü Einfügen auf Webservice-Funktion. Daraufhin wird das Dialogfeld WebService-Einstellungen angezeigt.
2.Wählen Sie im Abschnitt Service-Definition den relevanten Service-Definitionstyp aus. Je nach gewählter Option werden verschiedene Gruppen von Einstellungen angezeigt. Nähere Informationen dazu finden Sie in den folgenden Kapiteln:
oWSDL-basierte Webservice Calls
3.Definieren Sie die Einstellungen des Webservice-Aufrufs.
4.Klicken Sie auf OK. Daraufhin wird der Webservice-Aufruf als Komponente in Ihrem Mapping angezeigt.
Ändern/Aktualisieren der WebService-Call-Einstellungen
Sie können die Webservice-Einstellungen über das Dialogfeld Webservice-Call-Einstellungen ändern. Um das Dialogfeld aufzurufen, gehen Sie folgendermaßen vor:
•Doppelklicken Sie auf die Überschrift der Webservice-Komponente.
•Klicken Sie mit der rechten Maustaste auf die Überschrift der Webservice-Call-Komponente und wählen Sie Eigenschaften.
•Wählen Sie die Webservice-Komponente im Mapping aus und klicken Sie im Menü Komponente auf Eigenschaften.
Beispiel für einen Webservice-Aufruf
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.
Bestandteile des Webservice-Aufrufs
Die Webservice-Aufruf-Komponente besteht aus zwei Teilen: Request und Response. Über den Request-Teil können Sie Daten aus dem Mapping für den Webservice bereitstellen, während Sie über den Response-Teil die vom Webservice retournierten Daten aufrufen und auf andere Formate mappen können. 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 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.
Weitere Beispiele
Beispiele für Mappings mit Webservice-Aufrufen finden Sie in den folgenden Kapiteln:
•Beispiel: Aufruf einer HTTP API
•Beispiel: Mappen von Daten von einem RSS Feed
•Beispiel: Aufrufen eines SOAP-Webservice
•Beispiel: OAuth 2.0-Autorisierung