Taschenrechner - Variante mit XML-Datei
Ziel ist der Aufbau eines Taschenrechners, wie im vorangegangenen Beispiel, mit Ein- und Ausgabe einer XML-Datei.
Hier finden Sie eine Beispiel-XML mit einer Division zweier Werte:
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
Calculate
>
<
OP1
>10</
OP1
>
<
OP2
>3</
OP2
>
<
OPR
>/</
OPR
>
</
Calculate
>
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
RESULT
>3.333333</
RESULT
>
In diesem Beispiel soll das Ergebnis der Division mit 6 Nachkommastellen ausgegeben werden. Die Berechnung erfolgt fast identisch zu Beispiel 2, allerdings muss die Variable var_result den Typ Float, Double oder BigDecimal haben.
Schritt 1 - Profil erstellen
Gerne können Sie das vorhandene Taschenrechnerprofil aus Beispiel 2 klonen und unter neuem Namen, z. B. Lobster_Tutorial_HTTP_calculator_xml abspeichern.
In den Basis-Daten passen Sie folgende Einstellungen an:
Dokumentenart: XML
Zeichenkodierung: UTF-8
Mapping wird aktiviert.
Schritt 2 - Eingangs- und Formateinstellungen anpassen
In Phase 1 passen Sie folgende Einstellungen für HTTP an:
URL-Adressen-Suffix: calculator_xml
Mime-Type der Antwort: application/xml
In Phase 2 wird dem Parser mitgeteilt, wo sich der der Wurzelknoten (Root) der Eingabe befindet.
Schritt 3 - Mapping
In Phase 3 kann über das Menü der Quellstruktur die "Struktur aus Datei-Analyse erzeugt" werden. Dafür speichern Sie die Beispiel-XML aus der Eingabe als Datei ab und laden diese über "Datei-Analyse..." hoch. Beachten Sie bitte, dass Sie die Checkbox "keine komplexen Felder" anhaken. Innerhalb der Zielstruktur wird ein initialer Knoten RESULT benötigt.
Darunter wird erst einmal der Wert des OP1 in die Variable var_result geschrieben und danach die Berechnung über das OP2- und das OPR-Quellstrukturfeld veranlasst. Über den Parameter e der Funktion calculate and save variable kann die Anzahl der Nachkommastellen festgelegt werden. Damit in der XML-Ausgabe kein Extra-Knoten für das Feld erzeugt wird, verwenden Sie die val-Syntax für die Benennung der Felder.
Die XMLNoTemplateUnit in Phase 5 generiert das Ausgabeformat. Hier muss der Root node name hinterlegt werden.
Zurück an den Client werden die Daten über den Antwortweg Eigene Klasse - PassBackDataResponse und die Inhaltseinstellung Ausgabe von IU gesendet. Testen können Sie den Request erneut via Postman, in dem Sie die URL und den Body des Requests entsprechend anpassen.