Generic Exception Rules


Connectors continue to be released outside the IDM release. For the latest documentation, refer to the ICF documentation.

The generic exception rules are common to all API or SPI level operations and are described in the following sections.

Framework (API Level) Exception Rules

IllegalArgumentException or NullPointerException

Thrown when the ObjectClass is null or the name is blank.


Thrown when the operation timed out.


Thrown if any problem occurs with the connector server connection.


Thrown if the connector does not implement the required interface.


Thrown if the connector failed to initialize a remote connection due to a SocketException.


Thrown in the following situations:

  • The connector failed to initiate the remote connection due to a SocketException

  • An unexpected request was sent to the remote connector server

  • An unexpected response was received from the remote connector server


Thrown if the remote framework key is invalid

The following exceptions are thrown specifically in the context of a poolable connector.


Thrown if the pool has no available connectors after the maxWait time has elapsed.


Thrown if the object pool has already shut down.

Connector (SPI Level) Exception Rules


Thrown when single-valued attribute has multiple values.


Thrown when the value of the __PASSWORD__ or the __CURRENT_PASSWORD__ attribute is not a GuardedString.


Thrown when the Attribute name is blank.


Thrown when the target resource will not allow a specific operation to be performed. An instance of the PermissionDeniedException generally describes a native error that is returned by (or wraps a native exception that is thrown by) the target resource.

ConnectorIOException, ConnectionBrokenException, ConnectionFailedException

Thrown when any problem occurs with the connection to the target resource.


Thrown when the current version of the resource object does not match the version provided by the connector.


Thrown when a resource object requires a version, but no version was supplied in the getRevision operation.

Read a different version of :