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:


Eingabe
<?xml version="1.0" encoding="utf-8"?>
<Calculate>
<OP1>10</OP1>
<OP2>3</OP2>
<OPR>/</OPR>
</Calculate>
Ausgabe
<?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.


images/download/attachments/137305189/bsp3_basis-version-1-modificationdate-1686289410371-api-v2.png

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

images/download/attachments/137305189/bsp3_phase1-version-1-modificationdate-1686289410435-api-v2.png


In Phase 2 wird dem Parser mitgeteilt, wo sich der der Wurzelknoten (Root) der Eingabe befindet.


images/download/attachments/137305189/bsp3_phase2-version-1-modificationdate-1686289410443-api-v2.png

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.


images/download/attachments/137305189/bsp3_phase3-version-2-modificationdate-1686638601954-api-v2.png


Die XMLNoTemplateUnit in Phase 5 generiert das Ausgabeformat. Hier muss der Root node name hinterlegt werden.


images/download/attachments/137305189/bsp3_phase5-version-2-modificationdate-1686638645802-api-v2.png


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.