Vorheriges Thema: Sicherheit von Webservices

Nächstes Thema: Sperrfehler

Fehlerbehandlung in SOAP

Tritt bei einer Web Services-Methode ein Fehler auf, wird ein SOAP-Fault zurückgegeben. SOAP-Faults sind das standardmäßige Mittel zur Rückgabe von Ausnahmeinformationen für Web Services.

Diese Fehlermeldungen enthalten standardisierte <Message>- und <Code>-Elemente, wobei sich die hilfreichsten Informationen im <Detail>-Element befinden. Das <Detail>-Element enthält wiederum <ErrorCode>- und <ErrorMessage>-Elemente. Das <ErrorCode>-Element gibt einen numerisch kodierten Fehlercode zurück, der entweder für CA SDM oder Knowledge Management spezifisch ist. Das <ErrorMessage>-Element enthält eine Zeichenfolge in englischer Sprache, die den Fehler beschreibt. Die <ErrorMessage>-Elemente sind für die Unterstützung von Entwicklern besonders geeignet und zeigen Anwendern in der Regel hilfreichere Meldungen an.

Das folgende Beispiel veranschaulicht einen SOAP-Fault, der bei Angabe eines ungültigen Parameters in der Methode "getObjectValues()" in CA SDM ausgegeben wird:

<soap:Fault>
<faultcode>soap:Client</faultcode> 
<faultstring>Error on fetch with attribute list:persistent_id,first_name,last_nameParamErrorHere<faultstring> 
<detail>
<ErrorCode>1001</ErrorCode> 
<ErrorMessage> Error on fetch with attribute list: persistent_id,first_name,last_nameParamErrorHere </ErrorMessage> 
</detail>
</soap:Fault>

Wenn Sie einen Client auf Grundlage von Microsoft .NET-verwaltetem Code verwenden, führt ein fehlgeschlagener Web Services-Methodenaufruf zu einer „SOAPException“-Ausnahme. Alle Fehler unterbrechen den aufgerufenen Vorgang.

In einigen Fällen kann der Servlet-Container Fehler schreiben und daher in den Servlet-Container-Protokollen angezeigt werden. In anderen Fällen können Fehlerinformationen in die CA SDM-Protokolle geschrieben werden. Diese Protokolle befinden sich in den folgenden Unterverzeichnissen:

Hinweis: Es empfiehlt sich, diese Protokolle laufend zu überprüfen, da der Server eigene Fehler protokollieren könnte, ohne sie an die Webservices von CA SDM zu melden.