Bei Anfrage-Payloads folgen auf das cm-header
-Element im cm-payload
Wurzelelement ein oder mehrere cm-request
-Elemente. Diese Elemente spezifizieren die Operationen, die vom NPS-Server ausgeführt werden sollen.
<!ELEMENT cm-request (%cm.cm-request;)> <!ATTLIST cm-request request-id CDATA #REQUIRED preclusive (true | false) "false">
Die Unterelemente des cm-request
-Elements sind in CRUL definiert. Die entsprechende DTD wird in der XML-Referenz erläutert. Ein cm-request
-Element hat folgende Attribute:
request-id
preclusive
true
oder false
). Das preclusive
-Attribut erlaubt dem NPS-Client, die Requests zu markieren, die für die weitere Bearbeitung des Payloads kritisch sind. Wenn die Bearbeitung eines als preclusive
markierten Requests fehlschlägt, werden alle weiteren Requests im Payload nicht bearbeitet, sondern mit einer Fehlermeldung beantwortet.Alle Anfragen in einem Payload werden sequenziell, beginnend bei der ersten Anfrage, bearbeitet. Dadurch ist es einem Client möglich, auch voneinander abhängende Requests in einem einzigen Anfrage-Payload unterzubringen. So kann beispielsweise ein Client mit einem Payload zunächst eine Dateivorlage anlegen, um anschließend Dateien zu erzeugen, die auf dieser Vorlage beruhen. Mit dem preclusive
-Attribut kann der Client ferner sicherstellen, dass die abhängige Anfrage nur dann bearbeitet wird, wenn die vorausgehende keinen Fehler erzeugt hat.