Error handling
Operation failures are indicated by SOAP faults. There are two types of SOAP faults:
- BusinessFault: The operation could not be completed successfully because of a logical error (e.g., a malformed query or a password policy violation). A BusinessException will be thrown. The elements of BusinessException are described in the table below.
- TechnicalFault: The operation could not be completed due to a technical failure (e.g., a database query timeout). A TechnicalException will be thrown. The elements of TechnicalException are described in the table below.
Type | Elements | Description |
---|---|---|
BusinessException | message | A specific textual message describing the business error that occurred. |
reason | A reason code according to the [table] below, which can be evaluated and handled automatically by the client. | |
elementIndex | This element is returned for bulk operations only, e.g., deleteCredentials(). It denotes the index of the erroneous entry. Note: first entry has index 0. | |
TechnicalException | message | A textual message describing the technical error that occurred. |
Reason codes
The table below lists the existing reason codes. Reason codes give a rather general idea of the problem. Detailed information is usually printed along with the reason code. All reason codes start with "error.". In the table below, this prefix has been suppressed for the sake of simplicity.
Reason code (without prefix "error.") | Description |
---|---|
addIdmToApplDataroom | It is not possible to add the nevisIDM to a data room. |
applDataroomDenied | Permission denied due to application data room restriction. |
archiveCredentialDenied | Permission denied because the credential cannot be archived. |
assignDisabledUnit | Permission denied because tried to assign a disabled unit to a profile or another unit (as subunit). |
assignProfilelessUnit | Permission denied because tried to assign a profileless unit to a profile. |
assignSubunitAsParent | It is impossible to assign a parent unit as subunit to one of its subunits (cyclic relation). |
attrAccessForbidden | Permission to attribute (or to modify the attribute) denied. |
certificateExists | The same certificate has been registered for another user. The certificate can only be assigned to a single user. |
certificatePolicyViolated | The certificate policy has been violated. |
clientDataroomDenied | Permission denied due to client data room restriction. |
combinedDataroomDenied | Permission denied due to data room restrictions: The user does not have the combined data room authorization. |
credentialNotActive | A credential is not active, not valid anymore or not yet valid. |
CredTypeClientPolicyViolated | A credential type that is not allowed according to the corresponding client policy has been selected. |
CredTypeUnitPolicyViolated | A credential type that is not allowed according to the corresponding unit policy has been selected. |
deleteDefaultEntity | It was not possible to delete an entity because it was the default entity. Define another entity as default first, then execute the removal again. |
dimensionNotMatch | The OpenOffice template and the card dimension of an OTP credential do not match. |
duplicateEmail | Uniqueness constraint of e-mail address has been violated. |
duplicateMobile | Uniqueness constraint of mobile number has been violated. |
duplicateName | Uniqueness constraint of a name attribute has been violated. |
duplicateValue | The uniqueness constraint of some attribute has been violated. |
enterpriseRolesDisabled | The enterprise role feature is not enabled. |
eRoleDataroomDenied | Permission denied due to enterprise role data room restriction. |
filesystemIO | IO fault related to file system operations, e.g., read or write permission missing. |
history.norecord | No history record found for the object. |
identifierPolicyViolated | The identifier (ID) violated the policy (certain characters are prohibited in identifier strings). |
inconsistentClientAssignment | An inconsistency between a client and an assigned object (authorization, application, etc.) has been discovered. |
inconsistentData | Generic reason for inconsistent data in nevisIDM database. |
insufficientFineGrainedRights | Permission denied because the user does not have sufficient fine-grained permissions. |
insufficientRightsFunction | Permission denied because the user does not have sufficient permissions. |
invalidConfig | The configuration is not valid. |
invalidData | Generic reason for invalid data in nevisIDM. |
invalidDate | The date does not have a valid format. |
invalidDateInterval | The data interval is not valid. |
invalidParameter | The input parameter is not valid, e.g., the format was not correct. |
kerberosExists | The user already has a Kerberos credential (only one per user is allowed). |
loginIdGeneratorFailed | The login ID generator was unable to generate a new login ID. |
mailModule | Generic failure occurred in the e-mail module. |
missingMandatoryPlaceholder | One or more mandatory placeholders in the template could not be resolved. |
missingReferenceData | Reference data nevisIDM requires was not found in the nevisIDM database. |
mobileCannotBeDeleted | If a user has an mTAN credential, but one tries to remove the user's mobile number, this reason code is used. |
mobileCannotBeDeleted | Occurs if the mobile number of a user is deleted that has an mTAN credential. |
mobileMissing | The SMS sending failed because the user's mobile number is not set. |
mobileSignatureExists | The user already has a mobile signature credential (only one per user is allowed). |
modifyArchivedCredential | Permission denied because archived credentials cannot be modified anymore. |
modifyArchivedProfile | Permission denied because archived profiles cannot be modified anymore. |
modifyArchivedUser | Permission denied because archived users cannot be modified anymore. |
modifyExtId | Permission denied because external IDs cannot be modified. |
modifyLoginId | Permission denied because the user's login ID cannot be modified. |
modifyReadonlyData | Attempted to modify read-only data. |
msisdnFormat | Format of MSISDN is not valid. |
msspIdentifierMissing | The MSSP identifier is missing in the mobile signature credential and no default value is set in the policy configuration. |
mTanExists | The user already has an mTAN credential (only one per user is allowed). |
nocertcred | If a certificate upload should be performed, the user needs an empty certificate credential first. |
noClientFound | The client was not found because it was not or incorrectly specified. |
noDefaultUnitInClient | Default unit of the client could not be found or was not defined. |
nomobile | The user has no mobile, or the number is not a valid mobile number. |
norecord | No record was found and at least one was expected. |
noSmtpConnection | The SMTP server configured in the credential policies or in the configuration is not available. |
noTemplate | No template was found. |
nullParameter | The input parameter is not valid, e.g., it was "null" but should have a value. |
oathSecretIsShared | The secret sharing for the OATH credential failed because the secret had been shared already. |
passwordChangeDeadlineExceeded | Password change deadline exceeded. |
passwordExists | The user already has a password credential (only one password credential per user is allowed). |
pcyconf.invalidParamValue | The defined parameter value in the policy configuration is not valid. |
pcyconf.missingParam | A mandatory parameter in the policy configuration is missing. |
pcyconf.missingProfilePolicy | Profile policy is missing. |
pcyconf.multipleClientPolicy | More than one client policy for the same client exists. |
pessimisticLockingFailure | Pessimistic locking was not enough to handle the concurrency. |
policyViolation | The policy configuration is violated. |
potentialPrivilegeEscalation | Permission denied due to privilege escalation constraints. |
profilelessFlagCannotBeSet | Permission denied because tried to set the profileless flag to a unit with profiles. |
property.regexinv | The property's regular expression is not valid. |
property.stringregex | The property value did not match the property's regular expression. |
propertyUniquenessViolated | Property value violated uniqueness constraints (depend on the property definition). |
propety.stringmaxlen | Property value lengths exceed max. lengths defined for the property. |
PUKexists | The user already has a PUK credential (only one per user is allowed). |
pwdPolicyViolated | One or more password policy constraints have been violated. |
qrCodeGenerationFailed | The QR code generation for the OATH credential failed due to a technical problem. |
recordDeleted | The record has already (concurrently) been deleted. |
referenceDataChangeDenied | Permission denied because read-only reference data cannot be modified. |
safewordExists | The user already has a safeword credential (only one per user is allowed). |
samlAttributeFormat | Format of a SAML federation attribute is not valid. The value of the SAML federation attributes must match the regular expression set in the SAML federation policy. |
securidExists | The user already has a SecurID credential (only one per user is allowed). |
securityQuestionsExists | The user already has a security question credential (only one per user is allowed). |
securityQuestionsMaxReached | The security question reached the maximum reveal, success or failure number. Therefore, it cannot be used for authentication anymore. |
tableTypeMismatch | The OTP card challenge format does not match the provided template. |
techUser.oneProfile | Technical users can only have one profile. |
tempStrongPasswordExists | The user already has a temporary strong password credential (only one per user is allowed). |
ticketExists | The user already has a ticket credential (only one per user is allowed). |
tooManyOTPCards | The user has too many OTP credentials. The user may have at most two (during the OTP renewal process). |
tooManySearchResults | The query returned too many search results. This may occur to protect nevisIDM against performance intensive actions, or because a defined limitation for queries has been exceeded. |
undeletedDependencies | Deleting a certain object is not possible because there are still subobjects/dependencies that have to be deleted first. |
unitDataroomDenied | Permission denied due to unit data room restriction. |
urlTicket.invalidFormat | Unable to decode URLTicket string. |
URLTicketExists | The user already has a URL ticket credential (only one per user is allowed). |
urlTicketMissingURLPrefix | The URL prefix is not set for the URL ticket. Without it, the URL ticket cannot be created. |
userEmailFormat | The user's e-mail address is not valid. |
userEmailNull | The user's e-mail address is mandatory but was "null". |
userFirstNameNull | The user's first name is mandatory but was "null". |
userMobileNull | The user's mobile number is mandatory but was "null". |
userNameNull | The user's name is mandatory but was "null". |
userPhoneFormat | Format of user's phone, fax or mobile number is not valid. |
vascoExists | The user already has a Vasco Digipass token credential (only one per user is allowed). |