This chapter will outline how error messages are sent from Moria2 to the client service through the SOAP interface. For more information please refer to the Axis documentation regarding server-side exception handling.
The information below is currently valid for v2.1 (and later)
of the SOAP interface. The v2.0 interface will use the more
generic RemoteException
s, where the actual
faultcode (see below) will always be Server and
the faultstring will include the Java exception cause.
The SOAP Fault message from Moria2 will be on the form shown below:
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>Client</faultcode> <faultstring>AUTHORIZATION FAILED</faultstring> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
These are the possible values and combinations for the faultcode and faultstring elements, with descriptions:
faultcode | faultstring | Server-side Java Class | Description |
---|---|---|---|
Client | AUTHENTICATION FAILED | no.feide.moria.servlet.soap.AuthenticationFailedException | The user's credentials did not pass authentication. |
Server | AUTHENTICATION UNAVAILABLE | no.feide.moria.servlet.soap.AuthenticationUnavailableException | Moria2 was unable to reach the third-party (LDAP) server responsible for user authentication. |
Client | AUTHORIZATION FAILED | no.feide.moria.servlet.soap.AuthorizationFailedException | An operation was attempted, or parameters were used, that the client service was not authorized for. |
Client | ILLEGAL INPUT | no.feide.moria.servlet.soap.IllegalInputException | An operation was attempted, or parameters were used, that the client service was not authorized for. |
Server | MORIA INTERNAL | no.feide.moria.servlet.soap.InternalException | An unexpected internal error occured in Moria2. |
Client | UNKNOWN TICKET | no.feide.moria.servlet.soap.UnknownTicketException | The ticket used by the client service in a SOAP operation was unknown to Moria2. |
For more information on these exception classes please refer to the JavaDoc.