Bei Antwort-Payloads enthält das cm-payload-Wurzelelement ein oder mehrere cm-response-Elemente nach dem cm-header-Element, mit denen die jeweiligen Ergebnisse der vom NPS-Server ausgeführten Operationen zurückgeliefert werden.
Wenn ein Anfrage-Payload vom NPS-Server vollständig erkannt und bearbeitet wurde, entspricht jedes cm-response-Element im Antwort-Payload genau einem cm-request-Element des Anfrage-Payloads. In diesem Fall enthalten die cm-response-Elemente Meldungen, die sich auf die Inhalte der Requests beziehen (Request-Level-Meldungen).
Erhält der Content Management Server dagegen ein ungültiges Anfrage-Payload (beispielsweise ohne cm-header-Element oder mit nicht erkennbaren cm-request-Elementen), so liefert er ein Antwort-Payload zurück, das nur ein cm-response-Element enthält, mit dem der allgemeine Fehler gemeldet wird. In diesem Fall bezieht sich das cm-response-Element auf den Payload (Payload-Level-Meldung). Ein cm-response-Element ist folgendermaßen aufgebaut.
<!ELEMENT cm-response (cm-code*)>
<!ATTLIST cm-response
response-id CDATA #REQUIRED
payload-id CDATA #IMPLIED
request-id CDATA #IMPLIED
success ("true" | "false") #REQUIRED
>
Die einzelnen Antworten auf die Requests werden in cm-code-Elementen zurückgegeben:
<!ELEMENT cm-code ANY> <!ATTLIST cm-code numeric CDATA #REQUIRED phrase CDATA #REQUIRED >
Die Attribute des cm-response-Elements haben die folgende Bedeutung:
response-id
Identifikator der Antwort. Der Identifikator wird vom Erzeuger des Antwort-Payloads gesetzt. Er muss innerhalb aller Payloads, die in einem Kommunikationskontext ausgetauscht werden, eindeutig sein.payload-id
Identifikator des Anfrage-Payloads. Er entspricht dempayload-id-Attribut des Anfrage-Payloads. Dieses Attribut wird vom Server nur dann eingefügt, wenn dascm-response-Element eine Payload-Level-Meldung im erstencm-code-Element enthält. Ein Client kann folglich am Vorhandensein dieses Attributs erkennen, ob sein Anfrage-Payload als solches (nicht die in ihm enthaltenen Anfragen) vom Server interpretiert werden konnte.request-id
Identifikator des Requests. Er entspricht demreceiver-id-Attribut descm-request-Elements im Anfrage-Payload. Dieses Attribut ist nur vorhanden, wenn dascm-code-Element eine Request-Level-Meldung enthält.success
Der Wert dieses Attributs isttrue, wenn der Request erfolgreich bearbeitet werden konnte. Andernfalls ist erfalse.
Bitte beachten Sie, dass innerhalb eines Requests mehrere Operationen ausgeführt werden können. In diesem Fall enthält das success-Attribut das logische Und der Ergebnisse aller ausgeführten Operationen. Das heißt, success ist nur dann true, wenn alle Operationen erfolgreich waren.
Die Ergebnisse der ausgeführten Operationen werden mittels cm-code-Elementen innerhalb des cm-response-Elements zurückgeliefert. Die cm-code-Elemente enthalten eine Erfolgs- oder Fehlermeldung und weitere XML-Elemente, die das Resultat der Operation oder gegebenenfalls Fehlerinformationen darstellen.
Die Attribute des cm-code-Elements haben die folgende Bedeutung:
numeric
Fehlernummer (oder Erfolgsmeldungsnummer). Die den Nummern entsprechenden Meldungen werden im Abschnitt Fehlerbehandlung beschrieben.phrase
Die Beschreibung des Fehlers.
Der Inhalt des cm-code-Elements hängt von der Operation ab, die im Request angegeben war. Bei Operationen, die nicht erfolgreich ausgeführt werden konnten, hängt der Inhalt des cm-code-Elements vom aufgetretenen Fehler ab. Die möglichen Inhalte des cm-code-Elements werden für jede Operation in der XML-Referenz aufgeführt.