
Verwendung
Kontextobjekte sind nur dann relevant für Sie, wenn Sie eine Kommunikation über den Integration Server realisieren (A2A, B2B oder Web-Service-orientiert). Sie sind eine komfortable Alternative zu XPath-Ausdrücken, um während der Konfiguration im Integration Directory auf Inhalte einer Message zuzugreifen. Betrachten Sie beispielsweise folgende Message-Instanz:
<InvoiceOut>
<customerData> <address> <name> ... </name> <postalCode> ...</postalCode> ... </address> ... </customerData></InvoiceOut>
Um auf den Inhalt des Feldes <postalCode> zuzugreifen, würden Sie in XPath den folgenden Ausdruck verwenden:
/InvoiceOut/customerData/address/postalCode
Wenn Sie diesen Ausdruck in mehreren Bedingungen benötigen, müssten Sie ihn jedes mal neu hinschreiben oder kopieren. Statt dessen können Sie dem Feld <postalCode> ein Kontextobjekt zuweisen, beispielsweise mit dem Namen postalCode. In allen Bedingungen, in denen Sie den Wert des Feldes <postalCode> benötigen, reicht es dann aus das Kontextobjekt postalCode zu verwenden, so dass diese Bedingungen lesbarer werden:
Vergleich über XPath oder Kontextobjekt
| XPath | Kontextobjekt |
|---|---|
|
/InvoiceOut/customerData/address/postalCode = "69120" |
postalCode = "69120" |
Kontextobjekte kapseln also den XPath-Ausdruck, mit dem Sie sonst auf den Feldinhalt zugegriffen hätten.
Nachdem Sie ein Kontextobjekt im ES Repository angelegt und dem Feld einer Request-Message zugeordnet haben, können Sie es in folgenden Situationen verwenden:
Um auf Header-Informationen der Message zugreifen zu können, gibt es eine Reihe von vordefinierten technischen Kontextobjekten .
Typisierung
Ein Kontextobjekt ist skalar und hat einen Referenztyp. Das bedeutet, dass Sie Kontextobjekte keinen Strukturfeldern zuordnen können. Mit dem Referenztyp legen Sie fest, mit welcher Art von Werten Sie später das Kontextobjekt vergleichen wollen:
Datentypen von Kontextobjekten
| Referenztyp | Art des Vergeichs |
|---|---|
|
xsd:string |
Lexikographisch. |
|
xsd:integer |
Numerisch |
|
xsd:date |
Vergleich mit Datum |
|
xsd:time |
Vergleich mit Uhrzeit |