public enum SDKErrorSubcode
Ok | 0 |
No error
Appliance Response: 200 OK |
ParamOutOfRange | 1 |
An API call was made with an out-of-range parameter.
Appliance Response: N/A |
ParamNullReference | 2 |
An API call was made with a null or invalid reference parameter.
Appliance Response: N/A |
ParamConflict | 3 |
An API call was made with a parameter combination that is not valid.
Appliance Response: N/A |
InsufficientSpace | 4 |
An API call failed due to insufficient space to accept more data.
Appliance Response: N/A |
OutOfResources | 5 |
An API call failed due to lack of resources (for example: starting a timer when all timers are in use).
Appliance Response: 400 Not Enough Space |
InternalError | 6 |
An API call had an internal error (not an application fault).
Appliance Response: N/A |
OutOfMemory | 7 |
An API call failed due to inability to allocate memory.
Appliance Response: N/A |
ProtocolError | 8 |
An API call failed due to a protocol error with the appliance(not an application fault).
Appliance Response: N/A |
FactoryInitNotCalled | 9 |
An API call failed due to ContextFactory.Init() not being called first.
Appliance Response: N/A |
Timeout | 10 |
An API call failed due to a timeout.
Appliance Response: N/A |
KeepAliveFailure | 11 |
Session keep-alive detected a failed session.
Appliance Response: N/A |
SessionNotEstablished | 12 |
An API call failed due to the session not being established.
Appliance Response: N/A |
OperatingSystemError | 13 |
An API call failed due to a failed operating system call. An error string is stored.
Appliance Response: N/A |
CommunicationError | 14 |
An API call failed due to a communication error. An error string is stored.
Appliance Response: N/A |
UserDataTooLarge | 15 |
An attempt was made to send a message with user data larger than what is supported.
Appliance Response: N/A |
TopicTooLarge | 16 |
An attempt was made to use a topic which is longer than maximum supported length.
Appliance Response: N/A |
InvalidTopicSyntax | 17 |
An attempt was made to use a topic which has a syntax that is not supported.
Appliance Response: 400 Topic Parse Error |
XmlParseError | 18 |
The appliance could not parse an XML message.
Appliance Response: 400 XML Parse Error |
LoginFailure | 19 |
A client could not log into the appliance (bad username or password).
Appliance Response: All 401 and 404 error codes from appliance |
InvalidVirtualAddress | 20 |
An attempt was made to connect to wrong IP address on the appliance (must use CVRID, if configured).
Or the appliance CVRID has changed and this was detected on reconnect.
Appliance Response: 403 Invalid Virtual Router Address |
ClientDeleteInProgress | 21 |
Client login is not currently possible as previous instance of the same client still being deleted.
Appliance Response: 503 Subscriber Delete In Progress |
TooManyClients | 22 |
Client login is not currently possible due to maximum number of active clients on appliance.
Appliance Response: "503 Too Many Clients", "503 Too Many Publishers" or "503 Too Many Subscribers" |
SubscriptionAlreadyPresent | 23 |
A client attempted to add a subscription which already exists.
This response only occurs if session property IgnoreDuplicateSubscriptionError is false.
Appliance Response: "400 already exists" or "400 Subscription Already Exists" |
SubscriptionNotFound | 24 |
Client attempted to remove a subscription which did not exist.
This response only occurs if session property IgnoreDuplicateSubscriptionError is false.
Appliance Response: "400 not found" or "400 Subscription Not Found" |
SubscriptionInvalid | 25 |
A client attempted to subscribe/unsubscribe from a subscription that is not valid.
Appliance Response: "400 not supported", "400 parse error" or "400 Subscription Parse Error" |
SubscriptionOther | 26 |
The appliance rejected a subscription subscribe/unsubscribe request for a reason
not separately enumerated.
Appliance Response: N/A - this is no longer implemented. |
ControlOther | 27 |
The appliance rejected a control message for another reason not separately enumerated.
Appliance Response: Default error subCode for Appliance error responses |
DataOther | 28 |
The appliance rejected a data message for another reason not separately enumerated.
Appliance Response: Default error subCode for error response to published data. |
LogFileError | 29 |
Could not open the log file name specified by the application for writing.
Appliance Response: N/A Obsolete. |
MessageTooLarge | 30 |
A client attempted to send a message larger than that supported by the appliance.
Appliance Response: "400 Document Is Too Large" or "400 Message Too Long" |
SubscriptionTooMany | 31 |
A client attempted to add a subscription that exceeded the maximum number allowed.
Appliance Response: 400 Max Num Subscriptions Exceeded |
InvalidSessionOperation | 32 |
An API call failed because the attempted operation was invalid for the session.
Appliance Response: N/A |
TopicMissing | 33 |
A send call was made that did not have a topic in a mode where one is required (client mode).
Appliance Response: N/A |
AssuredMessagingNotEstablished | 34 |
A send call was made to send a Guaranteed message before Guaranteed Messaging is established.
Appliance Response: N/A |
AssuredMessagingToEstablished | 34 |
Deprecated; AssuredMessagingNotEstablished replaces it.
Appliance Response: N/A Obsolete. |
AssuredMessagingStateError | 35 |
An attempt was made to initialize Guaranteed Messaging when it is already initialized.
Appliance Response: N/A |
QueueNameTopicConflict | 36 |
Both Queue Name and Topic are specified in Session.Send().
Appliance Response: N/A |
QueueNameTooLarge | 37 |
An attempt was made to use a queue name which is longer than maximum supported length.
Appliance Response: N/A |
QueueNameInvalidMode | 38 |
An attempt was made to use a queue name on a non-Guaranteed message.
Appliance Response: N/A |
MaxTotalMessageSizeExceeded | 39 |
An attempt was made to send a message with a total size greater than that supported by the protocol.
Appliance Response: N/A |
DataBlockAlreadyExists | 40 |
An attempt was made to allocate a datablock for a message element when one already exists.
Appliance Response: N/A |
NoStructuredDataInContainer | 41 |
An attempt was made to create a container to read structured data where none exists.
Appliance Response: N/A |
StructuredDataContainerBusy | 42 |
An attempt was made to add a field to a map or stream while a sub map or stream is being built.
Appliance Response: N/A |
InvalidStructuredDataConversion | 43 |
An attempt was made to retrieve structured data with wrong type.
Appliance Response: N/A |
AttemptToModifySessionPropertyWhenNotIdle | 44 |
An attempt was made to modify a property that cannot be modified while session is not idle.
Appliance Response: N/A |
MessageVPNNotAllowed | 45 |
The Message VPN name configured for the session does not exist.
Appliance Response: 403 Message VPN Not Allowed |
ClientNameInvalid | 46 |
The client name chosen has been rejected as invalid by the appliance.
Appliance Response: 400 Client Name Parse Error |
MessageVPNUnavailable | 47 |
The Message VPN name set for the session (or the default Message VPN if no specific Message VPN name was set) is currently shutdown on the appliance.
Appliance Response: 503 Message VPN Unavailable |
ClientUserNameIsShutdown | 48 |
The username for the client is administratively shutdown on the appliance.
Appliance Response: 403 Client Username Is Shutdown |
DynamicClientsNotAllowed | 49 |
The username for the session has not been set and dynamic clients are not allowed.
Appliance Response: 403 Dynamic Clients Not Allowed |
ClientNameAlreadyInUse | 50 |
The session is attempting to use a client name that is in use by another client in the Message VPN, and the appliance is configured to reject the new session.
Appliance Response: 403 Client Name Already In Use |
CacheNoData | 51 |
When the cache request returns ReturnCode.SOLCLIENT_INCOMPLETE, this subcode indicates that there is no cached data in the designated cache.
Appliance Response: N/A |
CacheSuspectData | 52 |
When the designated cache responds to a cache request with suspect data, the API returns ReturnCode.SOLCLIENT_INCOMPLETE with this subcode.
Appliance Response: N/A |
CacheErrorResponse | 53 |
The Cache Instance has returned an error response to the cache request.
Appliance Response: N/A |
CacheInvalidSession | 54 |
The cache session operation failed because the session has been destroyed.
Appliance Response: N/A |
CacheOperationRequestTimeout | 55 |
The cache session operation failed because the request timeout expired.
Appliance Response: N/A |
CacheLiveDataFulfill | 56 |
The cache session operation completed when live data arrived on the topic requested.
Appliance Response: N/A |
CacheRequestAlreadyInProgress | 57 |
A cache request has been made when there is already a cache request outstanding on the same topic and FLOW_THRU was not set.
Appliance Response: N/A |
MissingReplyTo | 58 |
A message does not have the reply-to field when it is needed.
Appliance Response: N/A |
CannotBindToQueue | 59 |
Already bound to the Guaranteed Messaging queue, or not authorized to bind to the Guaranteed Messaging queue.
Appliance Response: "400 Cannot bind to another subscriber's topic queue." of "400 Already Bound" |
InvalidTopicNameForTE | 60 |
An attempt was made to bind to a Guaranteed delivery Topic Endpoint with an invalid topic.
Appliance Response: 400 Invalid Topic Name |
InvalidTopicNameForDTE | 60 |
Deprecated; InvalidTopicNameForTE replaces it.
Appliance Response: 400 Invalid Topic Name Obsolete. |
UnknownQueueName | 61 |
An attempt was made to bind to an unknown GQueue name (for example, a Queue that is not configured on the appliance).
Or an attempt was made to deprovision a Queue that does not exist.
This subcode is only returned if Deprovision(IEndpoint, Int32, Object) was called with
ignoreIfEndpointDoesNotExist equals to false
Appliance Response: 503 Unknown Queue |
UnknownTEName | 62 |
An attempt was made to create a flow to an unknown Topic Endpoint name (for example, a Topic Endpoint that is not configured on the appliance).
Or an attempt was made to deprovision a Topic Endpoint that does not exist.
This subcode is only returned if Deprovision(IEndpoint, Int32, Object) was called with
ignoreIfEndpointDoesNotExist equals to false
Appliance Response: 503 Unknown Durable Topic Endpoint |
UnknownDTEName | 62 |
Deprecated; UnknownTEName replaces it.
Appliance Response: 503 Unknown Durable Topic Endpoint Obsolete. |
MaxClientsForQueueReached | 63 |
An attempt was made to bind to a Queue that already has its maximum number of clients.
Appliance Response: 503 Max clients exceeded for queue |
MaxClientsForTEReached | 64 |
An attempt was made to bind to a Topic Endpoint that already has its maximum number of clients.
Appliance Response: 503 Max clients exceeded for durable topic endpoint |
MaxClientsForDTEReached | 64 |
Deprecated; MaxClientsForTEReached replaces it.
Appliance Response: 503 Max clients exceeded for durable topic endpoint Obsolete. |
UnexpectedUnbind | 65 |
An unexpected unbind response was received for a Queue or durable Topic Endpoint,
and the queue or DTE was deleted from the appliance.
Appliance Response: N/A |
QueueNotFound | 66 |
The specified Guaranteed Delivery queue was not found when publishing a message.
Appliance Response: 400 Queue Not Found |
ClientACLDenied | 67 |
The client login to the appliance was denied because the IP address/netmask combination used for the client
is designated in the ACL (Access Control List) as a deny connection for the given Message VPN and username.
Appliance Response: 403 Forbidden |
SubscriptionACLDenied | 68 |
The addition of a subscription was denied because it matched a subscription that was defined on
the ACL (Access Control List).
Appliance Response: 403 Subscription ACL Denied |
PublishACLDenied | 69 |
A message could not be published because its topic matched that of a topic defined on the ACL (Access Control List).
Appliance Response: 403 Publish ACL Denied |
DTOInvalid | 70 |
An attempt was made to set both Deliver-To-One and Guaranteed Delivery in the same message.
(Deprecated: DTO will be applied to the corresponding demoted direct message)
Appliance Response: N/A |
SpoolOverQuota | 71 |
Message was not delivered because the Guaranteed Delivery message spool is over its allotted space quota.
Appliance Response: 503 Spool Over Quota |
QueueShutdown | 72 |
An attempt was made to create a flow to a shutdown Guaranteed Delivery queue.
Appliance Response: 503 Queue Shutdown |
TEShutdown | 73 |
An attempt was made to create a flow to a shutdown Guaranteed Delivery Topic Endpoint.
Appliance Response: "503 Durable Topic Endpoint Shutdown", "503 TE Shutdown", or "503 Endpoint Shutdown" |
NoMoreNonDurableQueueOrTE | 74 |
An attempt was made to create a flow to a non-durable Guaranteed Delivery Queue or Topic Endpoint,
and the appliance is out of resources.
Appliance Response: 503 No More Non-Durable Queue or Topic Endpoint |
EndpointAlreadyExists | 75 |
An attempt was made to provision a Queue or Topic Endpoint that already exists.
This subcode is only returned if Provision(IEndpoint, EndpointProperties, Int32, Object) was called with
ignoreErrorIfEndpointAlreadyExists = false.
Appliance Response: 400 Endpoint Already Exists |
PermissionNotAllowed | 76 |
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 it made to remove a message from an endpoint when the session does not have 'consume' authorization and when an attempt is made to add or remove a topic subscription from a queue when the session does not have 'modify-topic' authorization. Appliance Response: 403 Permission Denied |
InvalidSelector | 77 |
An attempt was made to crate a flow to a Queue or Topic Endpoint with an invalid selector.
Appliance Response: 406 Invalid Selector |
MaxMsgUsageExceeded | 78 |
Publishing of message denied due to exceeding the maximum spooled message count.
Appliance Response: 503 Max message usage exceeded |
EndpointPropertyMismatch | 79 |
Attempted to create a dynamic durable endpoint and it was found to exist with different properties.
Appliance Response: 401 Endpoint Property Mismatch |
SubscriptionManagerDenied | 80 |
Attempted to add a subscription to another client when session does not have subscription manager privileges.
Appliance Response: 403 Subscription Manager Denied |
UnknownClientName | 81 |
Attempted to add a subscription to another client that is unknown on the appliance.
Appliance Response: 403 Unknown Client Name |
QuotaOutOfRange | 82 |
Attempted to provision an endpoint with a quota that is out of range.
Appliance Response: 400 Quota Out Of Range |
SubscriptionAttributesConflict | 83 |
The client attempted to add a subscription which already exists but it has different properties.
Appliance Response: 400 Subscription Attributes Conflict With Existing Subscription |
NoLocalNotSupported | 85 |
The client attempted to establish a session or flow with No Local enabled and the capability is not supported by the appliance.
Appliance Response: N/A |
UnsubscribeNotAllowed | 86 |
The client attempted to unsubscribe a topic from a Topic Endpoint while there
were still flows bound to the endpoint.
Appliance Response: 400 Unsubscribe not allowed, client(s) bound to DTE |
CannotBlockInContext | 87 |
An API was invoked in the IContext thread that would have blocked otherwise.
For example, a call was made to send a message when the session is configured
with SendBlocking enabled and the transport channel is full.
All application callback functions are executed in the IContext thread.
Appliance Response: N/A |
ActiveFlowIndicationUnsupported | 88 |
A flow creation failed because the appliance didn't have support for the requested Active Flow Indication.
Appliance Response: N/A |
UnresolvedHost | 89 |
The client failed to connect because the host name could not be resolved.
Appliance Response: N/A |
InvalidFlowOperation | 93 | An API call failed because the requested operation was invalid for the flow. |
UnknownFlowName | 94 |
The session was disconnected due to loss of the publisher flow state.
All (unacked and unsent) messages held by the API were deleted.
To connect the session, applications need to call Connect again.
Appliance Response: 400 Unknown Flow Name |
ReplicationIsStandby | 95 |
An attempt to perform an operation using a VPN that is configured to be STANDBY for replication.
Appliance Response: 403 Replication Is Standby |
LowPriorityMsgCongestion | 96 |
The message was rejected by the appliance as one or more matching endpoints exceeded the reject-low-priority-msg-limit configuration.
Appliance Response: 503 Low Priority Msg Congestion |
SSLLibraryNotLoaded | 97 |
The client attempted to establish a SSL session with SSL library not loaded.
Appliance Response: N/A Obsolete. |
LibraryNotLoaded | 97 | The client failed to find a required library or symbol |
FailedLoadingTruststore | 98 |
The client failed to load the trust store.
Appliance Response: N/A |
UntrustedCertificate | 99 |
The client attempted to connect to an appliance that has a suspect certficate.
Appliance Response: N/A |
UntrustedCommonName | 100 |
The client attempted to connect to an appliance that has a suspect common name.
Appliance Response: N/A |
CertificateDateInvalid | 101 |
The client attempted to connect to an appliance that does not have a valid certificate date.
Appliance Response: N/A |
FailedLoadingCertificateAndKey | 102 |
The client failed to load certificate and/or private key files.
Appliance Response: N/A |
BasicAuthenticationIsShutdown | 103 |
The client attempted to connect to an appliance that has the basic authentication shutdown.
Appliance Response: 403 Basic Authentication is Shutdown |
ClientCertificateAuthenticationIsShutdown | 104 |
The client attempted to connect to an appliance that has the client certificate authentication shutdown.
Appliance Response: 403 Client Certificate Authentication is Shutdown |
UntrustedClientCertificate | 105 |
The client failed to connect to an appliance as it has a suspect client certificate.
Appliance Response: "403 Untrusted Certificate" or "403 Certificate Chain Too Long" or "403 Certificate Error" |
ClientCertificateDateInvalid | 106 |
The client failed to connect to an appliance as it does not have a valid client certificate date.
Appliance Response: "403 Certificate Not Yet Valid" or "403 Certificate Expired" |
CacheRequestCancelled | 107 |
The cache request has been cancelled by the user (by calling CancelCacheRequests)
Appliance Response: N/A |
DeliveryModeUnsupported | 108 | Attempt was made from a Transacted Session to send a message with Direct set |
PublisherNotCreated | 109 | The client attempted to send a message without a publisher |
FlowUnbound | 110 | Client attempted to receive messages from an unbound Flow with no queued messages in memory |
InvalidTransactedSessionID | 111 | The client attempted to commit or rollback a transaction with an invalid transacted session id |
InvalidTransactionID | 112 | Commit or rollback a transaction with an invalid transaction id |
MaxTransactedSessionsExceeded | 113 | Failed to open a transacted session as it exceeded the max transacted sessions |
TransactedSessionNameInUse | 114 | The client attempted to open a transacted session with a name already in use |
ServiceUnavailable | 115 | Guarenteed delivery services are not enabled on the appliance |
NoTransactionStarted | 116 | The client attempted to commit an unknown transaction |
PublisherNotEstablished | 117 | The client attempted to send a message from a transacted session before a publisher is established |
MessagePublishFailure | 118 | The client attempted to commit a transaction after a guaranteed delivery publish failure occured |
TransactionFailure | 119 | The client attempted to commit a transaction with too many transaction steps |
MessageConsumeFailure | 120 | The client attempted to commit a transaction with a consume failure |
EndpointModified | 121 | The client attempted to commit a transaction involving an Endpoint which had been shutdown or deleted |
InvalidConnectionOwner | 122 | The client attempted to commit a transaction with an unknown connection id |
KerberosAuthenticationIsShutdown | 123 | The client attempted to connect to an appliance that has Kerberos authentication shutdown |
CommitRollbackAlreadyInProgress | 124 | The client attemped to commit or rollback a transaction multiple times |
UnbindResponseLost | 125 | The application called disposed or otherwise destroyed a IFlow object and the unbind-response was not received. |
MaxTransactionsExceeded | 126 | The client failed to open a Transacted Session ITransactedSessionas the maximum number of transactions was exceeded. |
CommitStatusUnknown | 127 | The commit response was lost due to a transport layer reconnection to an alternate host in the host list. The commit may have succeeded on the message-router before the response was lost. Or the commit request may have failed (roll back). Applications that treat the failure as a rollback must allow for duplicate transactions. |
ProxyAuthRequred | 128 | The host entry did not contain proxy authentication when required by the proxy server |
ProxyAuthFailure | 129 | The host entry contained invalid proxy authentication when required by the proxy server |
NoSubscriptionMatch | 130 | The client attempted to publish a guaranteed message to a topic that did not have any guaranteed subscription matches or only matched a replicated topic. Appliance Response: "503 No Subscription Match" |
SubscriptionMatchError | 131 | The client attempted to bind to a non-exclusive topic endpoint that is already bound with a different subscription. |
SelectorMatchError | 132 | The client attempted to bind to a non-exclusive topic endpoint that is already bound with a different ingress selector. |
ReplayNotSupported | 133 | Replay is not supported on the Solace Message Router |
ReplayDisabled | 134 | Replay is not enabled in the message-vpn |
ClientInitiatedReplayNonExclusiveNotAllowed | 135 | The client attempted to start replay on a flow bound to a non-exclusive endpoint |
ClientInitiatedReplayInactiveFlowNotAllowed | 136 | The client attempted to start replay on an inactive flow |
ClientInitiatedReplayBrowserFlowNotAllowed | 137 | The client attempted to bind with both {@link FlowHandle.PROPERTIES#BROWSER} enabled and {@link FlowHandle.PROPERTIES#REPLAY_START_LOCATION} set |
ReplayTemporaryNotSupported | 138 | Replay is not supported on temporary endpoints |
UnknownStartLocation | 139 | The client attempted to start a replay but provided an unknown start location type. |
ReplayMessageUnavailable | 140 | A replay in progress on a flow failed because messages to be replayed were trimmed from the replay log |
ReplayStarted | 141 | A replay was started on the queue/topic endpoint, either by another client or by an adminstrator on the message router. |
ReplayCancelled | 142 | A replay in progress on a flow was administratively cancelled, causing the flow to be unbound |
ReplayStartTimeNotAvailable | 143 | A replay was requested but the requested start time is not available in the replay log |
ReplayMessageRejected | 144 | The Solace Message Router attempted to replay a message, but the queue/topic endpoint rejected the message to the sender |
ReplayLogModified | 145 | A replay in progress on a flow failed because the replay log was modified |
MismatchedEndpointErrorId | 146 | Endpoint error ID in the bind request does not match the endpoint's error ID. |
OutOfReplayResources | 147 | A replay was requested, but the router does not have sufficient resources to fulfill the request, due to too many active replays. |
TopicOrSelectorModifiedOnDurableTopicEndpoint | 148 | A replay was in progress on a Durable Topic Endpoint (DTE) when its topic or selector was modified, causing the replay to fail. |
ReplayFailed | 149 | A replay in progress on a flow failed |
CompressedSslNotSupported | 150 | The client attempted to establish a Session or Flow with ssl and compression, but the capability is not supported by the appliance. |
SharedSubscriptionsNotSupported | 151 | The client attempted to add a shared subscription, but the capability is not supported by the appliance. |
SharedSubscriptionsNotAllowed | 152 | The client attempted to add a shared subscription on a client that is not permitted to use shared subscriptions. |
SharedSubscriptionsEndpointNotAllowed | 153 | The client attempted to add a shared subscription to a queue or topic endpoint. |
ObjectDestroyed | 154 | The operation cannot be completed because the object (context, session, flow) for the method has been destroyed in another thread. |
DeliveryCountNotSupported | 155 | The message was received from endpoint that does not support delivery count. |
ReplayStartMessageUnavailable | 156 | A replay was requested but, the requested start message is not available in the replay log. |
MessageIdNotComparable | 157 | Replication Group Message Id are not comparable. Messages must be published to the same broker or HA pair for their Replicaton Group Message Id to be comparable. |
ReplayAnonymousNotSupported | 158 | The client attempted to start replay on a flow bound to an anonymous queue. |
BrowserNotSupportedOnPartitionedQueue | 159 | Browser flows to Partitioned Queues are not permitted. |
SelectorsNotSupportedOnPartitionedQueue | 160 | Egress Selectors on Partitioned Queues are not permitted. |
SyncReplicationIneligible | 161 | A guaranteed message was rejected because the broker has been configured to reject messages when sync replication mode is ineligible. A transaction commit failed because replication became ineligible during the transaction. . |
EndpointShutdown | 162 | The client has attempted to publish to a topic that matched a queue or topic endpoint subscription which has its ingress flow shutdown. |
AdAppAckFaildNotSupported | 163 | Fail and Reject message settlement outcomes not supported on the Solace Message Router. |
InvalidQueueOrTEDurability | 164 | An attempt was made to bind to a durable Queue or Topic Endpoint with "non-durable" flow property. |