Behandlung der HTTP Response auf Basis von Bedingungen
Angenommen, ein Webservice gibt im Response Body abhängig vom Wert des Accept HTTP Request Headers entweder einen JSON- oder einen XML-Inhaltstyp zurück. Zusätzlich dazu gibt der Webservice im Fall eines Fehlers (Fehlercode > 299) eventuell einen nicht definierten Inhaltstyp zurück. In einem solchen Fall ist es unter Umständen sinnvoll, die Response anhand des HTTP-Statuscodes und Inhaltstyps auf Basis von Bedingungen zu behandeln.
Um im selben Mapping sowohl die JSON- als auch die XML-Response des Webservice zu behandeln, könnten Sie mehrere Body-Datenelemente erstellen. Klicken Sie dazu mit der rechten Maustaste in der Komponente auf das Body-Datenelement und wählen Sie im Kontextmenü den Befehl Body-Node hinzufügen nach.
Eine Webservice-Komponente mit mehreren für das obige Szenario konfigurierten Body-Datenelementen könnte im Mapping folgendermaßen aussehen:

Das oben gezeigte Mapping erhält zwei Input-Parameter. Er erste Parameter liefert den erwarteten Inhaltstyp. Sein Wert kann application/json oder application/xml sein. Der zweite Parameter liefert die numerische ID des abzurufenden Produkts.
Wenn Sie den Wert application/json als Input-Parameter bereitstellen, klicken Sie auf die Schaltfläche Vorschau der JSON-Zielkomponente. Wenn der Wert des Input-Parameters hingegen application/xml ist, klicken Sie auf die Schaltfläche Vorschau
der XML-Zielkomponente. Die jeweilige Ausgabedatei (JSON oder XML) wird generiert, wenn der Webservice-Aufruf erfolgreich war.
Wenn der Webservice einen Statuscode großer als 300 (Fehler) zurückgibt, gelangt die HTTP Response zum dritten Body-Datenelement. Da wir den genauen Inhaltstyp nicht kennen, werden wir ihn mit Hilfe der Funktion decode-mime-entity dekodieren. Der Wert des Zeichensatzes wird vom Webservice im Response Header nicht bereitgestellt, daher wurde der Konstantenwert utf-8 mit der Dekodierungsfunktion verbunden.
Jedes der drei Response Body-Datenelemente in der obigen Komponente wird durch Klick auf die Schaltfläche neben dem jeweiligen Body-Element konfiguriert.
1.Im ersten Body-Element wird als application/json zurückgegebener Inhalt behandelt, wenn der Statuscode zwischen 200 und 299 liegt. Außerdem wurde das Schema der erwarteten JSON Response-Struktur definiert.

2.Im zweiten Body-Element wird als application/xml zurückgegebener Inhalt behandelt, wenn der Statuscode zwischen 200 und 299 liegt. Außerdem wurde das Schema der erwarteten XML Response-Struktur definiert.

3.Im dritten Body-Element wird als */* zurückgegebener Inhalt behandelt, wenn der Webservice einen Fehler-Statuscode (zwischen 300 und 599) zurückgibt.
