Eingabe validieren

Unter der URL http://localhost:8081/questionnaire/verify.xml steht ein Service zur Verfügung, welcher in Umfragen eingegebene Daten verifiziert. Dazu muss die Umfrage mit einem HTTP PUT Request an den Server gesendet werden.

Wichtig: Es muss unbedingt der Content-Type "text/xml" für die Anfrage definiert werden. Anderenfalls sendet der Server eine Fehlermeldung (Status 404).

Beispiel

Eine beispielhafte Umfrage mit passender Antwort an den Server könnte wie folgt aussehen:

<questionnaire id="1" title="Sample questionnaire">
    <question type="text" id="1">
        <text>What's your name?</text>
    </question>
    <question type="location" id="2">
        <text>Where are you now?</text>
    </question>
    <question type="choice" id="3">
        <text>What language do you prefer?</text>
        <choices>
	        <choice id="1">C++</choice>
	        <choice id="2">Java</choice>
	        <choice id="3">Scala</choice>
        </choices>
    </question>
    <question type="multichoice" id="4">
        <text>What languages are you interested in?</text>
        <choices>
	        <choice id="4">C++</choice>
	        <choice id="5">Java</choice>
	        <choice id="6">Scala</choice>
        </choices>
    </question>
</questionnaire>

<answers forQuestionnaire="1">
    <answer forQuestion="1">Max Mustermann</answer>
    <answer forQuestion="2">51.155205,14.986033</answer>
    <answer forQuestion="3">1</answer>
    <answer forQuestion="4">4,5</answer>
</answers>

Die Antworten werden nun vom Server validiert. Anschließend sendet er eine Erfolgsmeldung:

<validation status="success" />

Validierungsnachrichten

In der Beispielumfrage wurde die Frage 3 als "choice" markiert. Enthält die Antwort nun aber mehr als eine Auswahl, so wird eine entsprechende Fehlermeldung an den Client gesendet:

<validation status="failed">
    <message error="INVALID_CHOICE">
        <input>2,3</input>
    </message>
<validation>

Ein weiteres Beispiel ist das Senden einer Auswahlmöglichkeit, welche gar nicht exisitert. In diesem Fall könnte die Fehlermeldung wie folgt aussehen:

<validation status="failed">
    <message error="INVALID_CHOICE">
        <input>77</input>
        <expected>1,2,3</expected>
    </message>
</validation>