Response-Element

Bei Antwort-Payloads enthält das ses-payload-Wurzelelement ein oder mehrere ses-response-Elemente nach dem ses-header-Element, mit denen die jeweiligen Ergebnisse der vom Server ausgeführten Operationen zurückgeliefert werden.

Wenn ein Anfrage-Payload vom Search Engine Server vollständig erkannt und bearbeitet wurde, entspricht jedes ses-response-Element im Antwort-Payload genau einem ses-request-Element des Anfrage-Payloads. In diesem Fall enthalten die ses-response-Elemente Meldungen, die sich auf die Inhalte der Requests beziehen (Request-Level-Meldungen).

Erhält der Search Engine Server dagegen ein ungültiges Anfrage-Payload (beispielsweise ohne ses-header-Element oder mit nicht erkennbaren ses-request-Elementen), so liefert er ein Antwort-Payload zurück, das nur ein ses-response-Element enthält, mit dem der allgemeine Fehler gemeldet wird (siehe Payload-Fehler). In diesem Fall bezieht sich das ses-response-Element auf den Payload (Payload-Level-Meldung). Ein ses-response-Element ist folgendermaßen aufgebaut.

<!ELEMENT ses-response (ses-code*)>
<!ATTLIST ses-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 ses-code-Elementen zurückgegeben:

<!ELEMENT ses-code ANY>
<!ATTLIST ses-code numeric CDATA #REQUIRED phrase CDATA #REQUIRED>

Die Attribute des ses-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 dem payload-id -Attribut des Anfrage-Payloads. Dieses Attribut wird vom Server nur dann eingefügt, wenn das ses-response-Element eine Payload-Level-Meldung im ersten ses-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 dem receiver-id-Attribut des ses-request- Elements im Anfrage-Payload. Dieses Attribut ist nur vorhanden, wenn das ses-code-Element eine Request-Level-Meldung enthält.
  • success
    Der Wert dieses Attributs ist true, wenn der Request erfolgreich bearbeitet werden konnte. Andernfalls ist er false.

Die Ergebnisse der ausgeführten Operationen werden mittels ses-code-Elementen innerhalb des ses-response-Elements zurückgeliefert. Die ses-code-Elemente enthalten eine Erfolgs- oder Fehlermeldung und weitere XML-Elemente, die das Resultat der Operation oder gegebenenfalls Fehlerinformationen darstellen.

Die Attribute des ses-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 ses-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 ses-code-Elements vom aufgetretenen Fehler ab. Die möglichen Inhalte des ses-code-Elements werden für jede Operation in den folgenden Abschnitten aufgeführt.