JSON Validator
Verwendung
Der JSON Validator prüft eine JSON-Eingangsnachricht auf ihre Gültigkeit anhand eines JSON-Schemas. Das Schema kann im JSON Validator gespeichert oder über eine URI referenziert werden.
Wenn die Eingangsnachricht gültig ist, wird sie als Ausgangsnachricht an das nachfolgende Modul übergeben.
Anderenfalls enthält die Ausgangsnachricht ein Element Validation mit Fehlermeldungen und einem Element OriginalDocument mit der ursprünglichen Eingangsnachricht.
Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<Validation>
<Errors>
<Error>
<ErrorInfo infoKey="level">"warning"</ErrorInfo>
<ErrorInfo infoKey="schema">
{"loadingURI":"#","pointer":"/definitions/elements/items"}
</ErrorInfo>
<ErrorInfo infoKey="domain">"syntax"</ErrorInfo>
<ErrorInfo infoKey="message">"the following keywords are unknown and will be ignored:
[ref]"
</ErrorInfo>
<ErrorInfo infoKey="ignored">["ref"]</ErrorInfo>
</Error>
<Error>
<ErrorInfo infoKey="level">"warning"</ErrorInfo>
<ErrorInfo infoKey="schema">
{"loadingURI":"#","pointer":"/properties/attributes/type"}
</ErrorInfo>
<ErrorInfo infoKey="domain">"syntax"</ErrorInfo>
<ErrorInfo infoKey="message">"the following keywords are unknown and will be ignored:
[const]"
</ErrorInfo>
<ErrorInfo infoKey="ignored">["const"]</ErrorInfo>
</Error>
</Errors>
<OriginalDocument>
<![CDATA[{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
...
}]]>
</OriginalDocument>
</Validation>
Sie können den Fehlerausgang nutzen, um Validierungsfehler zu behandeln, siehe Modul als Fehlerausgang verwenden.
Performance
Abhängig von der Größe des JSON-Schemas und dem Ort, an dem diese Datei erreichbar ist, kann das JSON-Validator-Modul die Performance der INUBIT Process Engine negativ beeinflussen.
Um die Einbußen zu minimieren, sollten Sie das Schema immer lokal am Modul speichern statt es über ein URI zu referenzieren.