Altova MapForce 2025 Enterprise Edition

In diesem Abschnitt des Dialogfelds können Sie die Request- und Response-Sturkturen Ihres Webservice-Aufrufs auswählen. Wenn Sie Webservices aufrufen, die Inhalt im Body-Teil der Request Message erwarten oder die Inhalt im Body-Teil der Response Message zurückgeben, können Sie die Request- und Response-Struktur als einen der folgenden Typen definieren:

 

Keine Struktur

XML

JSON

Protocol Buffer

 

Anmerkung:In mit MapForce erstellten Webservice-Aufrufen können Sie als Request- oder Response-Struktur Standard-JSON verwenden; JSON Lines- oder JSON5-Strukturen werden nicht unterstützt.

 

Die hier ausgewählte Struktur bestimmt, welche mapbaren Datenelemente im Mapping als Children des Datenelements Body mf_ic_body angezeigt werden sollen.

 

Request-Struktur

Um die Request-Struktur Ihres Webservice-Aufrufs zu definieren, navigieren Sie zum Abschnitt Strukturen des Dialogfelds WebService-Call-Einstellungen und klicken Sie neben dem Feld Request auf die Schaltfläche Bearbeiten. Daraufhin wird das Dialogfeld Request-Struktur (Abbildung unten) aufgerufen. Alternativ dazu können Sie das Dialogfeld Request-Struktur durch Klick auf die Schaltfläche excel1-compicon im Request-Teil der Webservice-Komponente in Ihrem Mapping aufrufen.

mf_ws_request_structure_dialog_zoom70

Strukturtyp

Nachdem Sie das Dialogfeld Request-Struktur geöffnet haben, wählen Sie im Abschnitt Strukturtyp eine der folgenden Optionen aus:

 

Wenn im Body-Teil kein Inhalt für den Webservice erwartet wird oder wenn Sie den Raw Body (MIME Entity) direkt über das Mapping bereitstellen möchten, wählen Sie die Option Keine Struktur.

Holen Sie sich bei XML-Dateien das XML- oder DTD-Schema für den Request vom Webservice-Anbieter. Wenn Sie eine XML-Instanzdatei auswählen, muss diese eine gültige Schemareferenz haben. In einigen XML-Schemas sind Elemente mittels einer globalen Deklaration definiert (d.h. Elemente, deren übergeordnetes Element das schema Element ist). Bei solchen Schemas können Sie auswählen, welches Element im Schema das Root-Element der Mapping-Struktur in MapForce bilden soll. Klicken Sie dazu auf Auswählen und wählen Sie im anschließend angezeigten Dialogfeld das gewünschte Root-Element aus.

Holen Sie sich bei JSON-Dateien das JSON-Schema für den Request vom Webservice-Anbieter oder generieren Sie es mit einem Tool wie Altova XMLSpy anhand einer JSON-Beispieldatei.

Holen Sie sich bei Protocol Buffer-Dateien die .proto-Datei, die die Binärdatei beschreibt, vom Webservice-Anbieter und klicken Sie anschließend auf Durchsuchen, um die Datei auszuwählen. Das Feld Root Message Type ist anwendbar, wenn die Protocol Buffer-Datei mehrere Message Types enthält. Klicken Sie auf Auswählen, um den Message Type an der Root der Struktur auszuwählen.

 

Tipp:Wenn Sie eine XML-Beispielinstanzdatei oder eine JSON Request-Datei, aber keine Schema-Datei zur Verfügung haben, können Sie die Schema-Datei mit Hilfe von Altova XMLSpy generieren. Falls nötig, kann XMLSpy Ihre Instanzdatei auch von XML in JSON konvertieren oder umgekehrt.

 

Außerkraftsetzen des Inhaltstyps

Aktivieren Sie optional das Kontrollkästchen Inhaltstyp außer Kraft setzen, wenn Sie den implizit von MapForce definierten Content-Type Header außer Kraft setzen möchten. Sie können nach dem Inhaltstyp auch Parameter angeben, z.B.: Content-Type: text/html; charset=utf-8.

 

Response-Struktur

Um die Response-Struktur Ihres Webservice-Aufrufs zu definieren, navigieren Sie zum Abschnitt Strukturen des Dialogfelds WebService-Call-Einstellungen und klicken Sie neben dem Feld Response auf die Schaltfläche Bearbeiten. Daraufhin wird das Dialogfeld Response-Struktur (Abbildung unten) aufgerufen. Alternativ dazu können Sie das Dialogfeld Request-Struktur durch Klick auf die Schaltfläche excel1-compicon im Response-Teil der Webservice-Komponente in Ihrem Mapping aufrufen.

 

Strukturtyp

Nachdem Sie das Dialogfeld Request-Struktur geöffnet haben, wählen Sie im Abschnitt Strukturtyp eine der Optionen aus: Wenn im Body-Teil des Webservice kein Inhalt zurückgegeben wird oder wenn Sie den Raw Body (MIME Entity) direkt über das Mapping verarbeiten möchten, wählen Sie die Option Keine Struktur. Informationen zu den Optionen in diesem Abschnitt des Dialogfelds finden Sie weiter oben im Unterabschnitt Request-Struktur unter Strukturtyp.

 

Inhaltstyp und HTTP-Status

Füllen Sie optional die Textfelder Inhaltstyp und HTTP-Status aus (Abbildung unten), wenn Sie eine Response MIME-Entity nach Medientyp (Inhaltstyp) und HTTP-Statuscode filtern müssen. Dies ist nützlich, wenn Sie die Response je nach HTTP-Statuscode und dem vom Webservice-Aufruf zurückgegebenen Inhaltstyp auf Basis von Bedingungen behandeln müssen. Ein Beispiel dazu finden Sie unter Fehlerbehandlung in HTTP APIs.

mf_ws_response_structure_dialog

Standardmäßig ist der Filter Inhaltstyp auf */* gesetzt, wodurch alle Medientypen inkludiert werden. Die Standard-HTTP-Statuscodes sind 200 bis 299. Wenn vom Webservice-Aufruf ein anderer nicht explizit behandelter Statuscode retourniert wird, schlägt die Mapping-Ausführung aufgrund eines Fehlers fehl.

 

Anmerkung

 

Wenn Sie das Mapping speichern, werden alle absoluten Pfade im Dialogfeld Request/Response-Struktur relativ zur Mapping Design-Datei (.mfd) gespeichert, wenn in den Komponenteneinstellungen das Kontrollkästchen Alle Dateipfade relativ zur MFD-Datei speichern aktiviert wurde.

 

© 2018-2024 Altova GmbH