Zum Hauptinhalt springen

EdaReceiverSimulation@1

Der Node EdaReceiverSimulation@1 liest EDA-Nachrichten aus XML-Dateien im Dateisystem des Adapters, anstatt sie vom HttpAdapter zu empfangen. Er erzeugt dieselbe EdaMessage-Ausgabe wie EdaReceiver@1 und kann diesen Node daher während der Entwicklung und für Tests ersetzen, wenn kein Ponton X/P Messenger verfügbar ist.

Adapter-Voraussetzungen​

Node-Konfiguration​

Zu den Feldern path, targetPath, targetValueWriteMode und targetValueKind siehe Überblick.

transformations:
- type: EdaReceiverSimulation@1
path: /data/eda-samples # XML file or folder with *.xml files
targetPath: $.messages # array the messages are appended to
PropertyTypErforderlichStandardBeschreibung
pathstringJa-Dateisystempfad (kein JSON-Pfad) einer einzelnen EDA-XML-Nachricht oder eines Ordners mit *.xml-Dateien
targetPathstringNein$Pfad des Arrays, an das die Nachrichten angehängt werden
hinweis

Bei diesem Node ist path ein Dateisystempfad auf dem Rechner (bzw. im Container), auf dem der Adapter läuft. Die Nachrichten werden immer an das Array unter targetPath angehängt.

Verhalten​

  • Ist path ein Ordner, werden alle *.xml-Dateien in alphabetischer Reihenfolge (ohne Beachtung der Groß-/Kleinschreibung) gelesen. Existiert der Pfad nicht, schlägt der Node fehl.
  • Die Routing-Header werden aus dem XML selbst gelesen: MessageType aus MessageCode, MessageId und ConversationId aus dem ProcessDirectory, SenderId und ReceiverId aus dem RoutingHeader, MessageVersion aus dem Attribut SchemaVersion und Schemaset aus dem XML-Namespace. Id ist eine laufende Nummer ab 1.
  • Jede Datei wird zu einer EdaMessage mit Headers, Message und RawContent, siehe EdaReceiver@1.
  • Eine Nachricht mit unbekanntem Nachrichtencode lässt den Node fehlschlagen.

Die Konfigurations-Properties sind in der API-Referenz dokumentiert.

Vollständiges Beispiel einer Pipeline-Konfiguration​

Dieses Beispiel liest synthetische Testnachrichten aus einem Ordner, wenn die Pipeline manuell ausgeführt wird.

triggers:
- type: FromExecutePipelineCommand@1
transformations:
- type: EdaReceiverSimulation@1
path: /data/eda-samples
targetPath: $.messages
- type: SplitConsumptionRecord@1
path: $.messages
targetPath: $.messages