Show TOC

 XML-ValidierungLocate this document in the navigation structure

Mit der XML-Validierung können Sie die Struktur einer PI-Message-Payload überprüfen. Die Validierung wird in der Kommunikationsvereinbarung oder in der Integrierten Konfiguration im Integration Directory aktiviert. Sobald eine Sendervereinbarung, Empfängervereinbarung oder eine Integrierte Konfiguration mit aktivierter XML-Validierung aktiviert wird, wird die entsprechende XSD für das Sender- oder Empfänger-Interface an die Laufzeit gesendet und im persistenten Cache gespeichert. Der Cache befindet sich auf der zentralen oder dezentralen Advanced Adapter Engine. Die Überwachung und Administration findet im Message-Monitoring der Runtime Workbench und auf der Integration Engine statt.

Eine semantische Überprüfung der Message-Payload findet nicht statt. Fault-Messages, Receipt Acknowledgments und Exceptions werden nicht validiert.

Der Parser kann maxOccurs > 5.000 nicht behandeln. Der IDoc-Typeditor kann die unbounded-Definition nicht behandeln. Der Laufzeitzugriff auf externe Links in xml.xsds ist nicht möglich.

Im Rahmen der PI-Message-Verarbeitung kann die Strukturüberprüfung an folgenden Stellen durchgeführt werden:

  • Validierung im Sender-Adapter

    Hat ein Sender-Adapter die PI-Message erzeugt, kann anschließend die Validierung der PI-Payload durchgeführt werden. Weicht die Struktur der Payload von der zum Vergleich bereitgestellten Definition des Datentyps ab, dann findet keine weitere Message-Verarbeitung statt. Der Adapter sendet eine synchrone Response an den Sender der Message zurück, die über den Strukturfehler informiert. Die industriespezifischen Adapter informieren den Sender asynchron, da dies so vom RNIF-Protokoll und vom CIDX-Protokoll verlangt wird.

    Alle Sender-Adapter (auch Nicht-SAP-Adapter) können diese Validierung durchführen.

  • Validierung in der Integration Engine

    Bei der Eingangs- und der Ausgangsverarbeitung findet die Validierung der PI-Message-Payload als ein Pipeline-Schritt der Integration Engine statt. Stimmt die Struktur der Message-Payload nicht mit der hinterlegten Definition des Datentyps überein, wird eine Fehlerbeschreibung erzeugt. Die Fehlerbeschreibung enthält Statusinformationen und listet alle Strukturfehler auf. Die weitere Verarbeitung der Message wird gestoppt. Die Message erhält Fehlerstatus und der Fehlerbericht wird gesichert.

  • Validierung in der Integrierten Konfiguration

    Auf dem Register Eingangsverarbeitung der Integrierten Konfiguration können Sie Validierung beim Adapter auswählen.

    Auf dem Register Ausgangsverarbeitung der Integrierten Konfiguration können Sie Validierung in Ausgangsrichtung auswählen. In diesem Fall erfolgt die Validierung nach Ermittlung und Mapping des Interface.

    Bei synchronen Szenarios kann die Validierung sowohl für den Request als auch die Response in der Advanced Adapter Engine erfolgen.

Behandlung von synchronen Messages

Synchrone Messages bestehen aus einer Request- und einer Response-Payload, die in einem synchronen Aufruf verarbeitet werden. Beide Payloads können nur gemeinsam validiert werden. In der Sendervereinbarung wird die Validierung für eingehende Requests und ausgehende Responses konfiguriert. In der Empfängervereinbarung wird die Validierung für ausgehende Requests und eingehende Responses konfiguriert. Synchrone Messages können nur im Adapter und nicht in der Integration Engine validiert werden.

Datentypen aus dem Enterprise Services Repository

Die Datentypen, die für die Validierung herangezogen werden, stammen aus dem Enterprise Services Repository.

Um den Cache nach der Änderung von Informationen im ES Repository zu aktualisieren, die für die XML-Validierung verwendet werden, aktivieren Sie die Kommunikationsvereinbarung oder die Integrierte Konfiguration im Integration Directory neu.

Datentypen mit externen Referenzen können nicht zur Laufzeit aufgelöst werden. Verwenden Sie keine XSDs mit Anweisungen, die maxOccurs > 5000 enthalten. Verwenden Sie statt dessen die unbounded-Anweisung.

Weitere Informationen: Datentypen .

Konfiguration

Sie legen in der jeweiligen Kommunikationsvereinbarung fest, ob und wo die Validierung der PI-Message-Payload stattfindet. In einer Sendervereinbarung können Sie zwischen der Validierung im Sender-Adapter oder der Validierung in der Integration Engine wählen. Findet die Validierung im Adapter statt und ist die Eigenschaft xiadapter.stage.conf auf (BI=1, MS=3) gesetzt, dann wird die Message in der Adapter Enginie persistiert und im Fehlerfall kann die Fehlermeldung vom Administrator in der Runtime Workbench bearbeitet werden. Die Service-Eigenschaft ist auf MS=3 voreingestellt, d.h. im Fehlerfall wird eine synchrone Response an den Sender geschickt.

Zur Fehlerbehandlung wird empfohlen, die Service-Eigenschaft auf (BI=1, MS=3)(B1=1, MS=3, AM=3, VI=1, VO=1) zu setzen.

Weitere Informationen: Message-Versionen auf der Advanced Adapter Engine speichern

In der Empfängervereinbarung können Sie die Validierung im Integration Server einstellen. Findet die Validierung im Integration Server statt, so wird die Message im Fehlerfall in den Fehlerstatus gesetzt und kann vom Administrator über die Runtime Workbench verarbeitet werden.

Weitere Informationen: Empfängervereinbarung , Sendervereinbarung , Integrierte Konfiguration definieren

Administration in der Runtime Workbench und in der Integration Engine

Messages, die sich aufgrund einer Validierung im Fehlerstatus befinden, können von einem Administrator weiterverarbeitet werden. Der Administrator kann Messages noch einmal versenden und den Validierungsschritt übergehen.

Weitere Informationen zum Monitoring in der Integration Engine: Verarbeitete Messages auswählen

Überwachen Sie das XSD-Schema in der Advanced Adapter Engine unter SAPNetWeaver Administrator → Cache-Monitoring → Mapping Runtime.