Definieren der Response-Struktur

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Aufrufen von Webservices > Hinzufügen eines Webservice-Aufrufs (REST) >

Definieren der Response-Struktur

Bei Aufruf von Webservices, die Inhalt im Body-Teil der Response Message zurückgeben, können Sie die Request-Struktur als eine der folgenden definieren:

 

Keine Struktur
XML
JSON
Protocol Buffers-Dateien, siehe Protocol Buffers

 

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

 

 

So definieren Sie die Response-Struktur:

1.Öffnen Sie das Dialogfeld "Webservice-Call-Einstellungen" (siehe Webservice-Call-Einstellungen).
2.Wählen Sie unter Service-Definition die Option Manuell aus.
3.Klicken Sie unter Strukturen neben Response auf Bearbeiten.

mf_ws_response_structure_dialog

Tipp:Ein Shortcut zum Anzeigen des Dialogfelds ist die Schaltfläche excel1-compicon im Request-Teil der Webservice-Komponente des Mappings.

 

1.Wählen Sie eine der folgenden Optionen aus:

 

a) Wenn der Webservice im Body-Teil keinen Inhalt retourniert oder wenn Sie den Raw Body (MIME Entity) direkt über das Mapping bereitstellen möchten, wählen Sie die Option Keine Struktur.

 

b) 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.

 

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

 

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 XMLSpy generieren. Falls nötig, kann XMLSpy Ihre Instanzdatei auch von XML in JSON konvertieren oder umgekehrt.

 

b) Holen Sie sich bei Protocol Buffers-Datei 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 Buffers-Datei mehrere Message Types enthält. Klicken Sie auf Auswählen, um den Message Type an der Root der Struktur auszuwählen.

 

Füllen Sie optional die Textfelder Inhaltstyp und HTTP-Status aus, wenn Sie eine MIME Entity-Response nach Medien-(Inhalts)typ und HTTP-Statuscode filtern müssen. Dies ist nützlich, wenn Sie abhängig vom HTTP-Statuscode und Inhaltstyp, der vom Webservice-Aufruf zurückgegeben wird, eine Behandlung auf Basis von Bedingungen definieren möchten. Ein Beispiel dazu finden Sie unter Behandlung der HTTP Response auf Basis von Bedingungen.

 

 

Standardmäßig ist für den Filter Inhaltstyp */* definiert, 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.

 

Wenn Sie das Mapping speichern, werden alle absoluten Pfade in diesem Dialogfeld relativ zur Mapping Design-Datei (.mfd) gespeichert, wenn in den Komponenteneinstellungen das Kontrollkästchen Alle Dateipfade relativ zur MFD-Datei speichern aktiviert wurde, siehe Webservice-Call-Einstellungen.


© 2019 Altova GmbH