## Contents

- Static Properties & Enumerations

namespace solace.ErrorSubcode

Defines an error subcode enumeration which is returned as a property of the errors/exceptions thrown by the API. The subcode provides more detailed error information.

The following subcodes can apply to error responses resulting from any API method.

- solace.ErrorSubcode.PARAMETER_OUT_OF_RANGE
- solace.ErrorSubcode.PARAMETER_CONFLICT
- solace.ErrorSubcode.INTERNAL_ERROR

## Static Properties & Enumerations Top

number | AD_MESSAGING_NOT_SUPPORTED = `48` |  |
number | ALREADY_BOUND = `112` |  |
number | BASIC_AUTHENTICATION_IS_SHUTDOWN = `51` |  |
number | CALLBACK_ERROR = `137` |  |
number | CLIENT_ACL_DENIED = `15` |  |
number | CLIENT_CERTIFICATE_AUTHENTICATION_IS_SHUTDOWN = `52` |  |
number | CLIENT_DELETE_IN_PROGRESS = `11` |  |
number | CLIENT_INITIATED_REPLAY_BROWSER_FLOW_NOT_ALLOWED = `150` |  |
number | CLIENT_INITIATED_REPLAY_INACTIVE_FLOW_NOT_ALLOWED = `149` |  |
number | CLIENT_INITIATED_REPLAY_NON_EXCLUSIVE_NOT_ALLOWED = `148` |  |
number | CLIENT_NAME_ALREADY_IN_USE = `9` |  |
number | CLIENT_NAME_INVALID = `10` |  |
number | CLIENT_USERNAME_IS_SHUTDOWN = `7` |  |
number | COMMUNICATION_ERROR = `25` |  |
number | COMPRESSED_TLS_NOT_SUPPORTED = `163` |  |
number | CONNECTION_ERROR = `44` |  |
number | CREATE_WEBSOCKET_FAILED = `49` |  |
number | CREATE_XHR_FAILED = `43` |  |
number | DATA_DECODE_ERROR = `45` |  |
number | DATA_ERROR_OTHER = `42` |  |
number | DYNAMIC_CLIENTS_NOT_ALLOWED = `8` |  |
number | ENDPOINT_ALREADY_EXISTS = `124` |  |
number | ENDPOINT_PROPERTY_MISMATCH = `128` |  |
number | FAILED_LOADING_CERTIFICATE_AND_KEY = `144` |  |
number | FAILED_LOADING_TRUSTSTORE = `143` |  |
number | GM_NOT_READY = `140` |  |
number | GM_UNAVAILABLE = `100` |  |
number | INACTIVITY_TIMEOUT = `46` |  |
number | INSUFFICIENT_SPACE = `22` |  |
number | INTERNAL_ERROR = `21` |  |
number | INVALID_DTE_NAME = `135` |  |
number | INVALID_OPERATION = `3` |  |
number | INVALID_SELECTOR = `126` |  |
number | INVALID_SESSION_OPERATION = `3` |  |
number | INVALID_TOPIC_NAME_FOR_TOPIC_ENDPOINT = `113` |  |
number | INVALID_TOPIC_SYNTAX = `31` |  |
number | INVALID_VIRTUAL_ADDRESS = `14` |  |
number | KEEP_ALIVE_FAILURE = `26` |  |
number | LOGIN_FAILURE = `13` |  |
number | LOW_PRIORITY_MSG_CONGESTION = `141` |  |
number | MAX_CLIENTS_FOR_QUEUE = `116` |  |
number | MAX_CLIENTS_FOR_TE = `117` |  |
number | MAX_MESSAGE_USAGE_EXCEEDED = `127` |  |
number | MESSAGE_ALREADY_ACKNOWLEDGED = `131` |  |
number | MESSAGE_DELIVERY_MODE_MISMATCH = `130` |  |
number | MESSAGE_TOO_LARGE = `32` |  |
number | MESSAGE_VPN_NOT_ALLOWED = `5` |  |
number | MESSAGE_VPN_UNAVAILABLE = `6` |  |
number | MISMATCHED_ENDPOINT_ERROR_ID = `158` |  |
number | NO_ERROR |  |
number | NO_LOCAL_NOT_SUPPORTED = `40` |  |
number | NO_MORE_NON_DURABLE_QUEUE_OR_TOPIC_ENDPOINT = `123` |  |
number | NO_SUBSCRIPTION_MATCH = `129` |  |
number | NOLOCAL_DISCARD = `138` |  |
number | OUT_OF_REPLAY_RESOURCES = `159` |  |
number | OUT_OF_RESOURCES = `23` |  |
number | PARAMETER_CONFLICT = `19` |  |
number | PARAMETER_INVALID_TYPE = `20` |  |
number | PARAMETER_OUT_OF_RANGE = `18` |  |
number | PERMISSION_NOT_ALLOWED = `125` |  |
number | PROTOCOL_ERROR = `24` |  |
number | PUBLISH_ACL_DENIED = `17` |  |
number | QUEUE_NOT_FOUND = `119` |  |
number | QUEUE_SHUTDOWN = `121` |  |
number | QUOTA_OUT_OF_RANGE = `142` |  |
number | REPLAY_CANCELLED = `153` |  |
number | REPLAY_DISABLED = `147` |  |
number | REPLAY_FAILED = `161` |  |
number | REPLAY_LOG_MODIFIED = `157` |  |
number | REPLAY_MESSAGE_REJECTED = `156` |  |
number | REPLAY_MESSAGE_UNAVAILABLE = `154` |  |
number | REPLAY_NOT_SUPPORTED = `146` |  |
number | REPLAY_START_TIME_NOT_AVAILABLE = `155` |  |
number | REPLAY_STARTED = `162` |  |
number | REPLAY_TEMPORARY_NOT_SUPPORTED = `151` |  |
number | REPLICATION_IS_STANDBY = `50` |  |
number | SELECTOR_DOES_NOT_MATCH = `134` |  |
number | SESSION_NOT_CONNECTED = `2` |  |
number | SPOOL_OVER_QUOTA = `120` |  |
number | SUBSCRIPTION_ACL_DENIED = `16` |  |
number | SUBSCRIPTION_ALREADY_PRESENT = `34` |  |
number | SUBSCRIPTION_ATTRIBUTES_CONFLICT = `39` |  |
number | SUBSCRIPTION_DOES_NOT_MATCH = `133` |  |
number | SUBSCRIPTION_ERROR_OTHER = `37` |  |
number | SUBSCRIPTION_INVALID = `36` |  |
number | SUBSCRIPTION_NOT_FOUND = `35` |  |
number | SUBSCRIPTION_TOO_MANY = `38` |  |
number | TIMEOUT = `4` |  |
number | TOO_MANY_CLIENTS = `12` |  |
number | TOPIC_ENDPOINT_SHUTDOWN = `122` |  |
number | TOPIC_MISSING = `28` |  |
number | TOPIC_OR_SELECTOR_MODIFIED_ON_DURABLE_TOPIC_ENDPOINT = `160` |  |
number | UNEXPECTED_UNBIND = `118` |  |
number | UNKNOWN_ERROR = `4294967295` |  |
number | UNKNOWN_QUEUE_NAME = `114` |  |
number | UNKNOWN_START_LOCATION_TYPE = `152` |  |
number | UNKNOWN_TOPIC_ENDPOINT_NAME = `115` |  |
number | UNKNOWN_TRANSPORT_SESSION_ID = `47` |  |
number | UNRESOLVED_HOSTS = `145` |  |
number | UNSUBSCRIBE_NOT_ALLOWED_CLIENTS_BOUND = `136` |  |
number | XML_PARSE_ERROR = `33` |  |

## Static Properties & Enumerations Detail Top

###
static public number AD_MESSAGING_NOT_SUPPORTED = `48`

Deprecated: This subcode is not used since 10.0.0. Guaranteed Messages (with a delivery mode other than DIRECT) are not supported.

###
static public number ALREADY_BOUND = `112`

Already bound to the Queue or not authorized to bind to the Queue.

Causes:

- 400 Already Bound

###
static public number BASIC_AUTHENTICATION_IS_SHUTDOWN = `51`

Basic authentication is administratively shut down on the router.

Causes:

- 403 Basic Authentication is Shutdown

###
static public number CALLBACK_ERROR = `137`

An application callback threw an error back to the API. The reason property describes the error that occurred.

###
static public number CLIENT_ACL_DENIED = `15`

The client login to the router was denied because the IP address/netmask combination used for the client is designated in the ACL (Access Control List) profile associated with that client.

Causes:

- 403 Forbidden

###
static public number CLIENT_CERTIFICATE_AUTHENTICATION_IS_SHUTDOWN = `52`

Client certificate authentication is administratively shut down on the router.

Causes:

- 403 Client Certificate Authentication Is Shutdown

###
static public number CLIENT_DELETE_IN_PROGRESS = `11`

The client login is not currently possible because a previous instance of same client was being deleted.

Causes:

- 503 Subscriber Delete In Progress

###
static public number CLIENT_INITIATED_REPLAY_BROWSER_FLOW_NOT_ALLOWED = `150`

N/A - Browser Flows are not supported.

###
static public number CLIENT_INITIATED_REPLAY_INACTIVE_FLOW_NOT_ALLOWED = `149`

The client attempted to start replay on an inactive flow

###
static public number CLIENT_INITIATED_REPLAY_NON_EXCLUSIVE_NOT_ALLOWED = `148`

The client attempted to start replay on a flow bound to a non-exclusive endpoint

###
static public number CLIENT_NAME_ALREADY_IN_USE = `9`

The session is attempting to use a client name that is in use by another client, and the router is configured to reject the new session. A client name cannot be used by multiple clients in the same Message VPN.

Causes:

- 403 Client Name Already In Use

###
static public number CLIENT_NAME_INVALID = `10`

The client name chosen has been rejected as invalid by the router.

Causes:

- 400 Client Name Parse Error

###
static public number CLIENT_USERNAME_IS_SHUTDOWN = `7`

The username for the client is administratively shutdown on the router.

Causes:

- 403 Client Username Is Shutdown

###
static public number COMMUNICATION_ERROR = `25`

An API call failed due to a communication error. This typically indicates the transport connection to the message router has been unexpectedly closed.

###
static public number COMPRESSED_TLS_NOT_SUPPORTED = `163`

Router does not support Compressed TLS

###
static public number CONNECTION_ERROR = `44`

Failed to create the transport.

###
static public number CREATE_WEBSOCKET_FAILED = `49`

Deprecated: Creating the WebSocket transport failed.

###
static public number CREATE_XHR_FAILED = `43`

Failed to create the HTTP connection.

###
static public number DATA_DECODE_ERROR = `45`

Failed to decode the data.

###
static public number DATA_ERROR_OTHER = `42`

The router rejected a data message for a reason not separately enumerated.

###
static public number DYNAMIC_CLIENTS_NOT_ALLOWED = `8`

The username for the session has not been set and dynamic clients are not allowed.

Causes:

- 403 Dynamic Clients Not Allowed

###
static public number ENDPOINT_ALREADY_EXISTS = `124`

An attempt was made to create a Queue or Topic Endpoint that already exists. This subcode is only returned if solace.SessionProperties.ignoreProvisionEndpointExists was not set for the current session.

Causes:

- 400 Endpoint Already Exists

###
static public number ENDPOINT_PROPERTY_MISMATCH = `128`

An attempt was made to create a dynamic durable endpoint, and it was found to exist with different properties.

Causes:

- 400 Endpoint Property Mismatch

###
static public number FAILED_LOADING_CERTIFICATE_AND_KEY = `144`

The client failed to load certificate and/or private key files.

###
static public number FAILED_LOADING_TRUSTSTORE = `143`

Unable to load the certificate from the TrustStore for a SSL secured session.

###
static public number GM_NOT_READY = `140`

The operation is delayed because Guaranteed Messaging is not ready on the router.

Causes: 507 Ad Not Ready

###
static public number GM_UNAVAILABLE = `100`

Guaranteed Messaging services are not enabled on the router.

Causes:

- 503 Service Unavailable

###
static public number INACTIVITY_TIMEOUT = `46`

Deprecated: The session was inactive for too long. Causes: * 400 Inactivity Timeout

###
static public number INSUFFICIENT_SPACE = `22`

An API call failed due to insufficient space in the transport buffer to accept more data. After an insufficient space error, the listeners on the solace.SessionEventCode#event:CAN_ACCEPT_DATA event are notified when it is possible to retry the failed operation.

###
static public number INTERNAL_ERROR = `21`

An API call had an internal error (not an application fault).

###
static public number INVALID_DTE_NAME = `135`

The subscriber has provided an incorrectly formatted durable topic endpoint name.

Causes:

- 400 Invalid Durable Topic Endpoint Name

###
static public number INVALID_OPERATION = `3`

The performed session operation is invalid given the state or configuration of the session.

###
static public number INVALID_SELECTOR = `126`

An attempt was made to bind to a Queue or Topic Endpoint with an invalid selector.

Causes:

- 400 Invalid Selector

###
static public number INVALID_SESSION_OPERATION = `3`

The performed session operation is invalid given the state or configuration of the session.

Deprecated: Use solace.ErrorSubCode.INVALID_OPERATION

###
static public number INVALID_TOPIC_NAME_FOR_TOPIC_ENDPOINT = `113`

An attempt was made to bind to a Guaranteed Messaging Topic Endpoint with an invalid topic.

Causes:

- 400 Invalid Topic Name

###
static public number INVALID_TOPIC_SYNTAX = `31`

An attempt was made to use a topic which has a syntax that is not supported.

Causes:

- 400 Topic Parse Error

###
static public number INVALID_VIRTUAL_ADDRESS = `14`

An attempt was made to connect to the wrong IP address on the router (must use CVRID if configured), or the router CVRID has changed and this was detected on reconnect.

Causes:

- 403 Invalid Virtual Router Address

###
static public number KEEP_ALIVE_FAILURE = `26`

The session keep-alive detected a failed session.

###
static public number LOGIN_FAILURE = `13`

The client could not log into the router.

Causes:

- 401 error codes
- 404 error codes
- Failed to send a session setup message in the transport.

###
static public number LOW_PRIORITY_MSG_CONGESTION = `141`

The message was rejected because one or more matching endpoints' reject-low-priority-msg-limit was exceeded.

Causes:

- 503 Low Priority Msg Congestion

###
static public number MAX_CLIENTS_FOR_QUEUE = `116`

An attempt was made to bind to a Guaranteed Messaging Queue that has already reached its maximum number of clients.

Causes:

- 503 Max clients exceeded for Queue

###
static public number MAX_CLIENTS_FOR_TE = `117`

An attempt was made to bind to a Guaranteed Messaging Topic Endpoint that has already reached its maximum number of clients.

Causes:

- 503 Max clients exceeded for durable Topic Endpoint

###
static public number MAX_MESSAGE_USAGE_EXCEEDED = `127`

Publishing the message was denied due to exceeding the maximum spooled message count.

Causes:

- 503 Max message usage exceeded

###
static public number MESSAGE_ALREADY_ACKNOWLEDGED = `131`

The message was already acknowledged.

###
static public number MESSAGE_DELIVERY_MODE_MISMATCH = `130`

The application attempted to acknowledge a message that arrived via a delivery mode that does not allow acknowledgements.

###
static public number MESSAGE_TOO_LARGE = `32`

The client attempted to send a message larger than that supported by the router.

Causes:

- 400 Document Is Too Large
- 400 Message Too Long

###
static public number MESSAGE_VPN_NOT_ALLOWED = `5`

The Message VPN name configured for the session is not configured to allow access for the session's username.

Causes:

- 403 Message VPN Not Allowed

###
static public number MESSAGE_VPN_UNAVAILABLE = `6`

The Message VPN name set for the session (or the default VPN if none was set) is currently shutdown on the router.

Causes:

- 503 Message VPN Unavailable

###
static public number MISMATCHED_ENDPOINT_ERROR_ID = `158`

Endpoint error ID in the bind request does not match the endpoint's error ID.

###
static public number NO_ERROR

No error is associated with this event.

###
static public number NO_LOCAL_NOT_SUPPORTED = `40`

The client attempted to establish a session with No Local enabled and the capability is not supported by the router.

###
static public number NO_MORE_NON_DURABLE_QUEUE_OR_TOPIC_ENDPOINT = `123`

An attempt was made to bind to a non-durable Guaranteed Messaging Queue or Topic Endpoint, and the router is out of resources.

Causes:

- 503 No More Non-Durable Queue or Topic Endpoint

###
static public number NO_SUBSCRIPTION_MATCH = `129`

The client attempted to publish an Guaranteed Messaging message to a topic that did not have any guaranteed subscription matches, or only matched a replicated topic.

Causes:

- 503 No Subscription Match

###
static public number NOLOCAL_DISCARD = `138`

A published message was discarded by the router because it will not be published anywhere based on the NoLocal properties. This can be considered normal.

Causes:

- 400 Nolocal Discard

###
static public number OUT_OF_REPLAY_RESOURCES = `159`

A replay was requested, but the router does not have sufficient resources to fulfill the request, due to too many active replays.

###
static public number OUT_OF_RESOURCES = `23`

The message router has rejected the request. All available resources of the requested type are in use.

Causes:

- 400 Not Enough Space

###
static public number PARAMETER_CONFLICT = `19`

An API call was made with a parameter combination that is not valid.

###
static public number PARAMETER_INVALID_TYPE = `20`

An API call was made with a parameter of incorrect type.

###
static public number PARAMETER_OUT_OF_RANGE = `18`

An API call was made with an out-of-range parameter.

###
static public number PERMISSION_NOT_ALLOWED = `125`

An attempt was made to delete or create a Queue or Topic Endpoint when the Session does not have authorization for the action. This subcode is also returned when an attempt is made to remove a message from an endpoint when the Session does not have 'consume' authorization, or when an attempt is made to add or remove a Topic subscription from a Queue when the Session does not have 'modify-topic' authorization.

Causes:

- 403 Permission Not Allowed

###
static public number PROTOCOL_ERROR = `24`

An API call failed due to a protocol error with the router (not an application fault).

###
static public number PUBLISH_ACL_DENIED = `17`

A message could not be published because its topic matched a topic defined as denied on the ACL (Access Control List) profile associated with the client.

Causes:

- 403 Publish ACL Denied

###
static public number QUEUE_NOT_FOUND = `119`

The specified Guaranteed Messaging Queue was not found when publishing a message.

Causes:

- 400 Queue Not Found

###
static public number QUEUE_SHUTDOWN = `121`

An attempt was made to operate on a shutdown Guaranteed Messaging queue.

Causes:

- 503 Queue Shutdown

###
static public number QUOTA_OUT_OF_RANGE = `142`

The specified endpoint quota was out of range.

Causes: 400 Quota Out Of Range

###
static public number REPLAY_CANCELLED = `153`

A replay in progress on a flow was administratively cancelled, causing the flow to be unbound

###
static public number REPLAY_DISABLED = `147`

Replay is not enabled in the message-vpn

###
static public number REPLAY_FAILED = `161`

A replay in progress on a flow failed

###
static public number REPLAY_LOG_MODIFIED = `157`

A replay in progress on a flow failed because the replay log was modified

###
static public number REPLAY_MESSAGE_REJECTED = `156`

The Solace Message Router attempted to replay a message, but the queue/topic endpoint rejected the message to the sender

###
static public number REPLAY_MESSAGE_UNAVAILABLE = `154`

A replay in progress on a flow failed because messages to be replayed were trimmed from the replay log

###
static public number REPLAY_NOT_SUPPORTED = `146`

Replay is not supported on the Solace Message Router

###
static public number REPLAY_START_TIME_NOT_AVAILABLE = `155`

A replay was requested but the requested start time is not available in the replay log

###
static public number REPLAY_STARTED = `162`

A replay was started on the queue or DTE, either by another client or by the router.

###
static public number REPLAY_TEMPORARY_NOT_SUPPORTED = `151`

Replay is not supported on temporary endpoints

###
static public number REPLICATION_IS_STANDBY = `50`

An attempt to perform an operation using a VPN that is configured to be STANDBY for replication.

Causes:

- 403 Replication Is Standby

###
static public number SELECTOR_DOES_NOT_MATCH = `134`

The API-supplied selector did not match when attempting to bind to a non-exclusive durable topic endpoint.

Causes:

- 403 Selector Does Not Match

###
static public number SESSION_NOT_CONNECTED = `2`

The session is not connected.

###
static public number SPOOL_OVER_QUOTA = `120`

Message was not delivered because the Guaranteed Message spool is over its allotted space quota.

Causes:

- 503 Spool Over Quota

###
static public number SUBSCRIPTION_ACL_DENIED = `16`

Adding a subscription was denied because it matched a subscription that was defined as denied on the ACL (Access Control List) profile associated with the client.

Causes:

- 403 Subscription ACL Denied

###
static public number SUBSCRIPTION_ALREADY_PRESENT = `34`

The client attempted to add a subscription that already exists. This subcode is only returned if the session property 'IgnoreDuplicateSubscriptionError' is not enabled.

Causes: 400 Subscription Already Exists)

###
static public number SUBSCRIPTION_ATTRIBUTES_CONFLICT = `39`

The client attempted to add a subscription which already exists but it has different properties.

Causes:

- 400 Subscription Attributes Conflict With Existing Subscription

###
static public number SUBSCRIPTION_DOES_NOT_MATCH = `133`

The API-supplied subscription did not match when attempting to bind to a non-exclusive durable topic endoint.

Causes:

- 403 Subscription Does Not Match

###
static public number SUBSCRIPTION_ERROR_OTHER = `37`

The router rejected a subscription add or remove request for a reason not separately enumerated.

###
static public number SUBSCRIPTION_INVALID = `36`

The client attempted to add/remove a subscription that is not valid.

Causes:

- 400 Subscription Parse Error

###
static public number SUBSCRIPTION_NOT_FOUND = `35`

The client attempted to remove a subscription which did not exist. This subcode is only returned if the session property 'IgnoreDuplicateSubscriptionError' is not enabled.

Causes: 400 Subscription Not Found)

###
static public number SUBSCRIPTION_TOO_MANY = `38`

The client attempted to add a subscription that exceeded the maximum number allowed.

Causes:

- 400 Max Num Subscriptions Exceeded

###
static public number TIMEOUT = `4`

An API call failed due to a timeout.

###
static public number TOO_MANY_CLIENTS = `12`

The client login is not currently possible because the maximum number of active clients on router has already been reached.

Causes:

- 503 Too Many Clients
- 503 Too Many Connections for VPN

###
static public number TOPIC_ENDPOINT_SHUTDOWN = `122`

An attempt was made to operate on a shutdown Guaranteed Messaging Topic Endpoint.

Causes:

- 503 Durable Topic Endpoint Shutdown
- 503 TE Shutdown
- 503 Endpoint Shutdown

###
static public number TOPIC_MISSING = `28`

A send call was made that did not have a topic in a mode where one is required (for example, client mode).

###
static public number TOPIC_OR_SELECTOR_MODIFIED_ON_DURABLE_TOPIC_ENDPOINT = `160`

A replay was in progress on a Durable Topic Endpoint (DTE) when its topic or selector was modified, causing the replay to fail.

###
static public number UNEXPECTED_UNBIND = `118`

An unexpected unbind response was received for a Guaranteed Messaging Queue or Topic Endpoint (for example, the Queue or Topic Endpoint was deleted from the router).

###
static public number UNKNOWN_ERROR = `4294967295`

Errors that do not have a proper subcode.

###
static public number UNKNOWN_QUEUE_NAME = `114`

An attempt was made to bind to an unknown Queue name (for example, not configured on the router).

Causes:

- 503 Unknown Queue

###
static public number UNKNOWN_START_LOCATION_TYPE = `152`

The client attempted to start a replay but provided an unknown start location type.

###
static public number UNKNOWN_TOPIC_ENDPOINT_NAME = `115`

An attempt was made to perform an operation on an unknown Guaranteed Messaging Topic Endpoint name (for example, not configured on router).

Causes:

- 503 Unknown Durable Topic Endpoint

###
static public number UNKNOWN_TRANSPORT_SESSION_ID = `47`

Deprecated: The router does not know this session's identifier. Causes: * 400 Unknown Transport Session Identfier

###
static public number UNRESOLVED_HOSTS = `145`

DNS resolution failed for all hostnames.

###
static public number UNSUBSCRIBE_NOT_ALLOWED_CLIENTS_BOUND = `136`

The unsubscribe request was denied by the router because the durable topic endpoint had one or more clients bound.

Causes:

- 400 Unsubscribe Not Allowed, Client(s) Bound To DTE

###
static public number XML_PARSE_ERROR = `33`

The router could not parse an XML message.

Causes:

- 400 XML Parse Error