/* SOGoSAML2Exceptions.m (auto-generated) */

#include <objc/objc.h>
#include <stdint.h>

#import <Foundation/NSDictionary.h>
#import <Foundation/NSString.h>
#import <Foundation/NSValue.h>

#import "SOGoSAML2Exceptions.h"

NSString * const LassoErrorUndefined = @"LassoErrorUndefined";
NSString * const LassoErrorUnimplemented = @"LassoErrorUnimplemented";
NSString * const LassoErrorOutOfMemory = @"LassoErrorOutOfMemory";
NSString * const LassoErrorCastFailed = @"LassoErrorCastFailed";
NSString * const LassoXmlErrorNodeNotFound = @"LassoXmlErrorNodeNotFound";
NSString * const LassoXmlErrorNodeContentNotFound = @"LassoXmlErrorNodeContentNotFound";
NSString * const LassoXmlErrorAttrNotFound = @"LassoXmlErrorAttrNotFound";
NSString * const LassoXmlErrorAttrValueNotFound = @"LassoXmlErrorAttrValueNotFound";
NSString * const LassoXmlErrorInvalidFile = @"LassoXmlErrorInvalidFile";
NSString * const LassoXmlErrorObjectConstructionFailed = @"LassoXmlErrorObjectConstructionFailed";
NSString * const LassoXmlErrorMissingNamespace = @"LassoXmlErrorMissingNamespace";
NSString * const LassoXmlErrorSchemaInvalidFragment = @"LassoXmlErrorSchemaInvalidFragment";
NSString * const LassoXmlErrorAttrValueInvalid = @"LassoXmlErrorAttrValueInvalid";
NSString * const LassoDsErrorSignatureNotFound = @"LassoDsErrorSignatureNotFound";
NSString * const LassoDsErrorInvalidSignature = @"LassoDsErrorInvalidSignature";
NSString * const LassoDsErrorSignatureTmplCreationFailed = @"LassoDsErrorSignatureTmplCreationFailed";
NSString * const LassoDsErrorContextCreationFailed = @"LassoDsErrorContextCreationFailed";
NSString * const LassoDsErrorPublicKeyLoadFailed = @"LassoDsErrorPublicKeyLoadFailed";
NSString * const LassoDsErrorPrivateKeyLoadFailed = @"LassoDsErrorPrivateKeyLoadFailed";
NSString * const LassoDsErrorCertificateLoadFailed = @"LassoDsErrorCertificateLoadFailed";
NSString * const LassoDsErrorSignatureFailed = @"LassoDsErrorSignatureFailed";
NSString * const LassoDsErrorKeysMngrCreationFailed = @"LassoDsErrorKeysMngrCreationFailed";
NSString * const LassoDsErrorKeysMngrInitFailed = @"LassoDsErrorKeysMngrInitFailed";
NSString * const LassoDsErrorSignatureVerificationFailed = @"LassoDsErrorSignatureVerificationFailed";
NSString * const LassoDsErrorCaCertChainLoadFailed = @"LassoDsErrorCaCertChainLoadFailed";
NSString * const LassoDsErrorInvalidSigalg = @"LassoDsErrorInvalidSigalg";
NSString * const LassoDsErrorDigestComputeFailed = @"LassoDsErrorDigestComputeFailed";
NSString * const LassoDsErrorSignatureTemplateNotFound = @"LassoDsErrorSignatureTemplateNotFound";
NSString * const LassoDsErrorTooMuchReferences = @"LassoDsErrorTooMuchReferences";
NSString * const LassoDsErrorInvalidReferenceForSaml = @"LassoDsErrorInvalidReferenceForSaml";
NSString * const LassoDsErrorDecryptionFailed = @"LassoDsErrorDecryptionFailed";
NSString * const LassoDsErrorEncryptionFailed = @"LassoDsErrorEncryptionFailed";
NSString * const LassoDsErrorDecryptionFailedMissingPrivateKey = @"LassoDsErrorDecryptionFailedMissingPrivateKey";
NSString * const LassoServerErrorProviderNotFound = @"LassoServerErrorProviderNotFound";
NSString * const LassoServerErrorAddProviderFailed = @"LassoServerErrorAddProviderFailed";
NSString * const LassoServerErrorAddProviderProtocolMismatch = @"LassoServerErrorAddProviderProtocolMismatch";
NSString * const LassoServerErrorSetEncryptionPrivateKeyFailed = @"LassoServerErrorSetEncryptionPrivateKeyFailed";
NSString * const LassoServerErrorInvalidXml = @"LassoServerErrorInvalidXml";
NSString * const LassoServerErrorNoProviderLoaded = @"LassoServerErrorNoProviderLoaded";
NSString * const LassoLogoutErrorUnsupportedProfile = @"LassoLogoutErrorUnsupportedProfile";
NSString * const LassoLogoutErrorRequestDenied = @"LassoLogoutErrorRequestDenied";
NSString * const LassoLogoutErrorFederationNotFound = @"LassoLogoutErrorFederationNotFound";
NSString * const LassoLogoutErrorUnknownPrincipal = @"LassoLogoutErrorUnknownPrincipal";
NSString * const LassoLogoutErrorPartialLogout = @"LassoLogoutErrorPartialLogout";
NSString * const LassoProfileErrorInvalidQuery = @"LassoProfileErrorInvalidQuery";
NSString * const LassoProfileErrorInvalidPostMsg = @"LassoProfileErrorInvalidPostMsg";
NSString * const LassoProfileErrorInvalidSoapMsg = @"LassoProfileErrorInvalidSoapMsg";
NSString * const LassoProfileErrorMissingRequest = @"LassoProfileErrorMissingRequest";
NSString * const LassoProfileErrorInvalidHttpMethod = @"LassoProfileErrorInvalidHttpMethod";
NSString * const LassoProfileErrorInvalidProtocolprofile = @"LassoProfileErrorInvalidProtocolprofile";
NSString * const LassoProfileErrorInvalidMsg = @"LassoProfileErrorInvalidMsg";
NSString * const LassoProfileErrorMissingRemoteProviderid = @"LassoProfileErrorMissingRemoteProviderid";
NSString * const LassoProfileErrorUnsupportedProfile = @"LassoProfileErrorUnsupportedProfile";
NSString * const LassoProfileErrorUnknownProfileUrl = @"LassoProfileErrorUnknownProfileUrl";
NSString * const LassoProfileErrorIdentityNotFound = @"LassoProfileErrorIdentityNotFound";
NSString * const LassoProfileErrorFederationNotFound = @"LassoProfileErrorFederationNotFound";
NSString * const LassoProfileErrorNameIdentifierNotFound = @"LassoProfileErrorNameIdentifierNotFound";
NSString * const LassoProfileErrorBuildingQueryFailed = @"LassoProfileErrorBuildingQueryFailed";
NSString * const LassoProfileErrorBuildingRequestFailed = @"LassoProfileErrorBuildingRequestFailed";
NSString * const LassoProfileErrorBuildingMessageFailed = @"LassoProfileErrorBuildingMessageFailed";
NSString * const LassoProfileErrorBuildingResponseFailed = @"LassoProfileErrorBuildingResponseFailed";
NSString * const LassoProfileErrorSessionNotFound = @"LassoProfileErrorSessionNotFound";
NSString * const LassoProfileErrorBadIdentityDump = @"LassoProfileErrorBadIdentityDump";
NSString * const LassoProfileErrorBadSessionDump = @"LassoProfileErrorBadSessionDump";
NSString * const LassoProfileErrorMissingResponse = @"LassoProfileErrorMissingResponse";
NSString * const LassoProfileErrorMissingStatusCode = @"LassoProfileErrorMissingStatusCode";
NSString * const LassoProfileErrorMissingArtifact = @"LassoProfileErrorMissingArtifact";
NSString * const LassoProfileErrorMissingResourceOffering = @"LassoProfileErrorMissingResourceOffering";
NSString * const LassoProfileErrorMissingServiceDescription = @"LassoProfileErrorMissingServiceDescription";
NSString * const LassoProfileErrorMissingServiceType = @"LassoProfileErrorMissingServiceType";
NSString * const LassoProfileErrorMissingAssertion = @"LassoProfileErrorMissingAssertion";
NSString * const LassoProfileErrorMissingSubject = @"LassoProfileErrorMissingSubject";
NSString * const LassoProfileErrorMissingNameIdentifier = @"LassoProfileErrorMissingNameIdentifier";
NSString * const LassoProfileErrorInvalidArtifact = @"LassoProfileErrorInvalidArtifact";
NSString * const LassoProfileErrorMissingEncryptionPrivateKey = @"LassoProfileErrorMissingEncryptionPrivateKey";
NSString * const LassoProfileErrorStatusNotSuccess = @"LassoProfileErrorStatusNotSuccess";
NSString * const LassoProfileErrorMissingIssuer = @"LassoProfileErrorMissingIssuer";
NSString * const LassoProfileErrorMissingServiceInstance = @"LassoProfileErrorMissingServiceInstance";
NSString * const LassoProfileErrorMissingEndpointReference = @"LassoProfileErrorMissingEndpointReference";
NSString * const LassoProfileErrorMissingEndpointReferenceAddress = @"LassoProfileErrorMissingEndpointReferenceAddress";
NSString * const LassoProfileErrorInvalidIssuer = @"LassoProfileErrorInvalidIssuer";
NSString * const LassoProfileErrorMissingServer = @"LassoProfileErrorMissingServer";
NSString * const LassoProfileErrorUnknownProvider = @"LassoProfileErrorUnknownProvider";
NSString * const LassoProfileErrorCannotVerifySignature = @"LassoProfileErrorCannotVerifySignature";
NSString * const LassoProfileErrorCannotFindAProvider = @"LassoProfileErrorCannotFindAProvider";
NSString * const LassoProfileErrorResponseDoesNotMatchRequest = @"LassoProfileErrorResponseDoesNotMatchRequest";
NSString * const LassoProfileErrorInvalidRequest = @"LassoProfileErrorInvalidRequest";
NSString * const LassoProfileErrorInvalidResponse = @"LassoProfileErrorInvalidResponse";
NSString * const LassoProfileErrorUnsupportedBinding = @"LassoProfileErrorUnsupportedBinding";
NSString * const LassoProfileErrorInvalidAssertionConditions = @"LassoProfileErrorInvalidAssertionConditions";
NSString * const LassoProfileErrorInvalidAssertion = @"LassoProfileErrorInvalidAssertion";
NSString * const LassoProfileErrorUnknownIssuer = @"LassoProfileErrorUnknownIssuer";
NSString * const LassoProfileErrorIssuerIsNotAnIdp = @"LassoProfileErrorIssuerIsNotAnIdp";
NSString * const LassoProfileErrorRequestDenied = @"LassoProfileErrorRequestDenied";
NSString * const LassoProfileErrorEndpointIndexNotFound = @"LassoProfileErrorEndpointIndexNotFound";
NSString * const LassoProfileErrorInvalidIdpList = @"LassoProfileErrorInvalidIdpList";
NSString * const LassoParamErrorBadTypeOrNullObj = @"LassoParamErrorBadTypeOrNullObj";
NSString * const LassoParamErrorInvalidValue = @"LassoParamErrorInvalidValue";
NSString * const LassoParamErrorCheckFailed = @"LassoParamErrorCheckFailed";
NSString * const LassoParamErrorNonInitializedObject = @"LassoParamErrorNonInitializedObject";
NSString * const LassoLoginErrorFederationNotFound = @"LassoLoginErrorFederationNotFound";
NSString * const LassoLoginErrorConsentNotObtained = @"LassoLoginErrorConsentNotObtained";
NSString * const LassoLoginErrorInvalidNameidpolicy = @"LassoLoginErrorInvalidNameidpolicy";
NSString * const LassoLoginErrorRequestDenied = @"LassoLoginErrorRequestDenied";
NSString * const LassoLoginErrorInvalidSignature = @"LassoLoginErrorInvalidSignature";
NSString * const LassoLoginErrorUnsignedAuthnRequest = @"LassoLoginErrorUnsignedAuthnRequest";
NSString * const LassoLoginErrorStatusNotSuccess = @"LassoLoginErrorStatusNotSuccess";
NSString * const LassoLoginErrorUnknownPrincipal = @"LassoLoginErrorUnknownPrincipal";
NSString * const LassoLoginErrorNoDefaultEndpoint = @"LassoLoginErrorNoDefaultEndpoint";
NSString * const LassoLoginErrorAssertionReplay = @"LassoLoginErrorAssertionReplay";
NSString * const LassoLoginErrorAssertionDoesNotMatchRequestId = @"LassoLoginErrorAssertionDoesNotMatchRequestId";
NSString * const LassoLoginErrorInvalidAssertionSignature = @"LassoLoginErrorInvalidAssertionSignature";
NSString * const LassoDefederationErrorMissingNameIdentifier = @"LassoDefederationErrorMissingNameIdentifier";
NSString * const LassoSoapErrorRedirectRequestFault = @"LassoSoapErrorRedirectRequestFault";
NSString * const LassoSoapFaultRedirectRequest = @"LassoSoapFaultRedirectRequest";
NSString * const LassoSoapErrorMissingEnvelope = @"LassoSoapErrorMissingEnvelope";
NSString * const LassoSoapErrorMissingHeader = @"LassoSoapErrorMissingHeader";
NSString * const LassoSoapErrorMissingBody = @"LassoSoapErrorMissingBody";
NSString * const LassoSoapErrorMissingSoapFaultDetail = @"LassoSoapErrorMissingSoapFaultDetail";
NSString * const LassoNameIdentifierMappingErrorMissingTargetNamespace = @"LassoNameIdentifierMappingErrorMissingTargetNamespace";
NSString * const LassoNameIdentifierMappingErrorForbiddenCallOnThisSide = @"LassoNameIdentifierMappingErrorForbiddenCallOnThisSide";
NSString * const LassoNameIdentifierMappingErrorMissingTargetIdentifier = @"LassoNameIdentifierMappingErrorMissingTargetIdentifier";
NSString * const LassoDataServiceErrorUnregisteredDst = @"LassoDataServiceErrorUnregisteredDst";
NSString * const LassoDataServiceErrorCannotAddItem = @"LassoDataServiceErrorCannotAddItem";
NSString * const LassoWsfProfileErrorMissingCorrelation = @"LassoWsfProfileErrorMissingCorrelation";
NSString * const LassoWsfProfileErrorMissingSecurity = @"LassoWsfProfileErrorMissingSecurity";
NSString * const LassoWsfProfileErrorMissingAssertionId = @"LassoWsfProfileErrorMissingAssertionId";
NSString * const LassoWsfProfileErrorMissingEndpoint = @"LassoWsfProfileErrorMissingEndpoint";
NSString * const LassoWsfProfileErrorSoapFault = @"LassoWsfProfileErrorSoapFault";
NSString * const LassoWsfProfileErrorUnsupportedSecurityMechanism = @"LassoWsfProfileErrorUnsupportedSecurityMechanism";
NSString * const LassoWsfProfileErrorMissingDescription = @"LassoWsfProfileErrorMissingDescription";
NSString * const LassoWsfProfileErrorMissingResourceId = @"LassoWsfProfileErrorMissingResourceId";
NSString * const LassoWsfProfileErrorMissingCredentialRef = @"LassoWsfProfileErrorMissingCredentialRef";
NSString * const LassoWsfProfileErrorInvalidOrMissingReferenceToMessageId = @"LassoWsfProfileErrorInvalidOrMissingReferenceToMessageId";
NSString * const LassoWsfProfileErrorSecurityMechanismCheckFailed = @"LassoWsfProfileErrorSecurityMechanismCheckFailed";
NSString * const LassoWsfProfileErrorUnknownStatusCode = @"LassoWsfProfileErrorUnknownStatusCode";
NSString * const LassoWsfProfileErrorServerInteractionRequired = @"LassoWsfProfileErrorServerInteractionRequired";
NSString * const LassoWsfProfileErrorServerInteractionRequiredForData = @"LassoWsfProfileErrorServerInteractionRequiredForData";
NSString * const LassoWsfProfileErrorRedirectRequest = @"LassoWsfProfileErrorRedirectRequest";
NSString * const LassoWsfProfileErrorRedirectRequestUnsupportedByRequester = @"LassoWsfProfileErrorRedirectRequestUnsupportedByRequester";
NSString * const LassoWsfProfileErrorMissingSenderId = @"LassoWsfProfileErrorMissingSenderId";
NSString * const LassoDiscoveryErrorSvcMetadataRegisterFailed = @"LassoDiscoveryErrorSvcMetadataRegisterFailed";
NSString * const LassoDiscoveryErrorSvcMetadataAssociationAddFailed = @"LassoDiscoveryErrorSvcMetadataAssociationAddFailed";
NSString * const LassoDiscoveryErrorMissingRequestedService = @"LassoDiscoveryErrorMissingRequestedService";
NSString * const LassoDiscoveryErrorFailedToBuildEndpointReference = @"LassoDiscoveryErrorFailedToBuildEndpointReference";
NSString * const LassoDstErrorMissingServiceData = @"LassoDstErrorMissingServiceData";
NSString * const LassoDstErrorQueryFailed = @"LassoDstErrorQueryFailed";
NSString * const LassoDstErrorQueryPartiallyFailed = @"LassoDstErrorQueryPartiallyFailed";
NSString * const LassoDstErrorModifyFailed = @"LassoDstErrorModifyFailed";
NSString * const LassoDstErrorModifyPartiallyFailed = @"LassoDstErrorModifyPartiallyFailed";
NSString * const LassoDstErrorNewDataMissing = @"LassoDstErrorNewDataMissing";
NSString * const LassoDstErrorQueryNotFound = @"LassoDstErrorQueryNotFound";
NSString * const LassoDstErrorNoData = @"LassoDstErrorNoData";
NSString * const LassoDstErrorMalformedQuery = @"LassoDstErrorMalformedQuery";
NSString * const LassoDstErrorEmptyRequest = @"LassoDstErrorEmptyRequest";
NSString * const LassoRegistryErrorKeyExists = @"LassoRegistryErrorKeyExists";
NSString * const LassoProviderErrorMissingPublicKey = @"LassoProviderErrorMissingPublicKey";
NSString * const LassoWssecErrorMissingSecurityToken = @"LassoWssecErrorMissingSecurityToken";
NSString * const LassoWssecErrorBadPassword = @"LassoWssecErrorBadPassword";
NSString * const LassoIdwsf2DiscoveryErrorFailed = @"LassoIdwsf2DiscoveryErrorFailed";
NSString * const LassoIdwsf2DiscoveryErrorForbidden = @"LassoIdwsf2DiscoveryErrorForbidden";
NSString * const LassoIdwsf2DiscoveryErrorDuplicate = @"LassoIdwsf2DiscoveryErrorDuplicate";
NSString * const LassoIdwsf2DiscoveryErrorLogicalDuplicate = @"LassoIdwsf2DiscoveryErrorLogicalDuplicate";
NSString * const LassoIdwsf2DiscoveryErrorNoResults = @"LassoIdwsf2DiscoveryErrorNoResults";
NSString * const LassoIdwsf2DiscoveryErrorNotFound = @"LassoIdwsf2DiscoveryErrorNotFound";
NSString * const LassoIdwsf2DstErrorDuplicateItem = @"LassoIdwsf2DstErrorDuplicateItem";
NSString * const LassoIdwsf2DstErrorPartialFailure = @"LassoIdwsf2DstErrorPartialFailure";
NSString * const LassoIdwsf2DstErrorUnknownStatusCode = @"LassoIdwsf2DstErrorUnknownStatusCode";
NSString * const LassoIdwsf2DstErrorItemNotFound = @"LassoIdwsf2DstErrorItemNotFound";
NSString * const LassoAssertionQueryErrorAttributeRequestAlreadyExist = @"LassoAssertionQueryErrorAttributeRequestAlreadyExist";
NSString * const LassoAssertionQueryErrorNotAnAttributeQuery = @"LassoAssertionQueryErrorNotAnAttributeQuery";
NSString * const LassoXmlencErrorInvalidEncryptedData = @"LassoXmlencErrorInvalidEncryptedData";
NSString * const LassoPaosErrorMissingRequest = @"LassoPaosErrorMissingRequest";
NSString * const LassoPaosErrorMissingResponse = @"LassoPaosErrorMissingResponse";
NSString * const LassoPaosErrorMissingResponseConsumerUrl = @"LassoPaosErrorMissingResponseConsumerUrl";
NSString * const LassoEcpErrorMissingRequest = @"LassoEcpErrorMissingRequest";
NSString * const LassoEcpErrorMissingResponse = @"LassoEcpErrorMissingResponse";
NSString * const LassoEcpErrorMissingRelaystate = @"LassoEcpErrorMissingRelaystate";
NSString * const LassoEcpErrorMissingAuthnRequest = @"LassoEcpErrorMissingAuthnRequest";
NSString * const LassoEcpErrorMissingSamlResponse = @"LassoEcpErrorMissingSamlResponse";
NSString * const LassoEcpErrorAssertionConsumerUrlMismatch = @"LassoEcpErrorAssertionConsumerUrlMismatch";

static NSMutableDictionary *exceptionTable = nil;

@implementation NSException (SOGoSAML2Extension)

static void
InitExceptionTable ()
{
  exceptionTable = [NSMutableDictionary new];
    [exceptionTable setObject: LassoErrorUndefined
                     forKey: [NSNumber numberWithInt: LASSO_ERROR_UNDEFINED]];
  [exceptionTable setObject: LassoErrorUnimplemented
                     forKey: [NSNumber numberWithInt: LASSO_ERROR_UNIMPLEMENTED]];
  [exceptionTable setObject: LassoErrorOutOfMemory
                     forKey: [NSNumber numberWithInt: LASSO_ERROR_OUT_OF_MEMORY]];
  [exceptionTable setObject: LassoErrorCastFailed
                     forKey: [NSNumber numberWithInt: LASSO_ERROR_CAST_FAILED]];
  [exceptionTable setObject: LassoXmlErrorNodeNotFound
                     forKey: [NSNumber numberWithInt: LASSO_XML_ERROR_NODE_NOT_FOUND]];
  [exceptionTable setObject: LassoXmlErrorNodeContentNotFound
                     forKey: [NSNumber numberWithInt: LASSO_XML_ERROR_NODE_CONTENT_NOT_FOUND]];
  [exceptionTable setObject: LassoXmlErrorAttrNotFound
                     forKey: [NSNumber numberWithInt: LASSO_XML_ERROR_ATTR_NOT_FOUND]];
  [exceptionTable setObject: LassoXmlErrorAttrValueNotFound
                     forKey: [NSNumber numberWithInt: LASSO_XML_ERROR_ATTR_VALUE_NOT_FOUND]];
  [exceptionTable setObject: LassoXmlErrorInvalidFile
                     forKey: [NSNumber numberWithInt: LASSO_XML_ERROR_INVALID_FILE]];
  [exceptionTable setObject: LassoXmlErrorObjectConstructionFailed
                     forKey: [NSNumber numberWithInt: LASSO_XML_ERROR_OBJECT_CONSTRUCTION_FAILED]];
  [exceptionTable setObject: LassoXmlErrorMissingNamespace
                     forKey: [NSNumber numberWithInt: LASSO_XML_ERROR_MISSING_NAMESPACE]];
  [exceptionTable setObject: LassoXmlErrorSchemaInvalidFragment
                     forKey: [NSNumber numberWithInt: LASSO_XML_ERROR_SCHEMA_INVALID_FRAGMENT]];
  [exceptionTable setObject: LassoXmlErrorAttrValueInvalid
                     forKey: [NSNumber numberWithInt: LASSO_XML_ERROR_ATTR_VALUE_INVALID]];
  [exceptionTable setObject: LassoDsErrorSignatureNotFound
                     forKey: [NSNumber numberWithInt: LASSO_DS_ERROR_SIGNATURE_NOT_FOUND]];
  [exceptionTable setObject: LassoDsErrorInvalidSignature
                     forKey: [NSNumber numberWithInt: LASSO_DS_ERROR_INVALID_SIGNATURE]];
  [exceptionTable setObject: LassoDsErrorSignatureTmplCreationFailed
                     forKey: [NSNumber numberWithInt: LASSO_DS_ERROR_SIGNATURE_TMPL_CREATION_FAILED]];
  [exceptionTable setObject: LassoDsErrorContextCreationFailed
                     forKey: [NSNumber numberWithInt: LASSO_DS_ERROR_CONTEXT_CREATION_FAILED]];
  [exceptionTable setObject: LassoDsErrorPublicKeyLoadFailed
                     forKey: [NSNumber numberWithInt: LASSO_DS_ERROR_PUBLIC_KEY_LOAD_FAILED]];
  [exceptionTable setObject: LassoDsErrorPrivateKeyLoadFailed
                     forKey: [NSNumber numberWithInt: LASSO_DS_ERROR_PRIVATE_KEY_LOAD_FAILED]];
  [exceptionTable setObject: LassoDsErrorCertificateLoadFailed
                     forKey: [NSNumber numberWithInt: LASSO_DS_ERROR_CERTIFICATE_LOAD_FAILED]];
  [exceptionTable setObject: LassoDsErrorSignatureFailed
                     forKey: [NSNumber numberWithInt: LASSO_DS_ERROR_SIGNATURE_FAILED]];
  [exceptionTable setObject: LassoDsErrorKeysMngrCreationFailed
                     forKey: [NSNumber numberWithInt: LASSO_DS_ERROR_KEYS_MNGR_CREATION_FAILED]];
  [exceptionTable setObject: LassoDsErrorKeysMngrInitFailed
                     forKey: [NSNumber numberWithInt: LASSO_DS_ERROR_KEYS_MNGR_INIT_FAILED]];
  [exceptionTable setObject: LassoDsErrorSignatureVerificationFailed
                     forKey: [NSNumber numberWithInt: LASSO_DS_ERROR_SIGNATURE_VERIFICATION_FAILED]];
  [exceptionTable setObject: LassoDsErrorCaCertChainLoadFailed
                     forKey: [NSNumber numberWithInt: LASSO_DS_ERROR_CA_CERT_CHAIN_LOAD_FAILED]];
  [exceptionTable setObject: LassoDsErrorInvalidSigalg
                     forKey: [NSNumber numberWithInt: LASSO_DS_ERROR_INVALID_SIGALG]];
  [exceptionTable setObject: LassoDsErrorDigestComputeFailed
                     forKey: [NSNumber numberWithInt: LASSO_DS_ERROR_DIGEST_COMPUTE_FAILED]];
  [exceptionTable setObject: LassoDsErrorSignatureTemplateNotFound
                     forKey: [NSNumber numberWithInt: LASSO_DS_ERROR_SIGNATURE_TEMPLATE_NOT_FOUND]];
  [exceptionTable setObject: LassoDsErrorTooMuchReferences
                     forKey: [NSNumber numberWithInt: LASSO_DS_ERROR_TOO_MUCH_REFERENCES]];
  [exceptionTable setObject: LassoDsErrorInvalidReferenceForSaml
                     forKey: [NSNumber numberWithInt: LASSO_DS_ERROR_INVALID_REFERENCE_FOR_SAML]];
  [exceptionTable setObject: LassoDsErrorDecryptionFailed
                     forKey: [NSNumber numberWithInt: LASSO_DS_ERROR_DECRYPTION_FAILED]];
  [exceptionTable setObject: LassoDsErrorEncryptionFailed
                     forKey: [NSNumber numberWithInt: LASSO_DS_ERROR_ENCRYPTION_FAILED]];
  [exceptionTable setObject: LassoDsErrorDecryptionFailedMissingPrivateKey
                     forKey: [NSNumber numberWithInt: LASSO_DS_ERROR_DECRYPTION_FAILED_MISSING_PRIVATE_KEY]];
  [exceptionTable setObject: LassoServerErrorProviderNotFound
                     forKey: [NSNumber numberWithInt: LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND]];
  [exceptionTable setObject: LassoServerErrorAddProviderFailed
                     forKey: [NSNumber numberWithInt: LASSO_SERVER_ERROR_ADD_PROVIDER_FAILED]];
  [exceptionTable setObject: LassoServerErrorAddProviderProtocolMismatch
                     forKey: [NSNumber numberWithInt: LASSO_SERVER_ERROR_ADD_PROVIDER_PROTOCOL_MISMATCH]];
  [exceptionTable setObject: LassoServerErrorSetEncryptionPrivateKeyFailed
                     forKey: [NSNumber numberWithInt: LASSO_SERVER_ERROR_SET_ENCRYPTION_PRIVATE_KEY_FAILED]];
  [exceptionTable setObject: LassoServerErrorInvalidXml
                     forKey: [NSNumber numberWithInt: LASSO_SERVER_ERROR_INVALID_XML]];
  [exceptionTable setObject: LassoServerErrorNoProviderLoaded
                     forKey: [NSNumber numberWithInt: LASSO_SERVER_ERROR_NO_PROVIDER_LOADED]];
  [exceptionTable setObject: LassoLogoutErrorUnsupportedProfile
                     forKey: [NSNumber numberWithInt: LASSO_LOGOUT_ERROR_UNSUPPORTED_PROFILE]];
  [exceptionTable setObject: LassoLogoutErrorRequestDenied
                     forKey: [NSNumber numberWithInt: LASSO_LOGOUT_ERROR_REQUEST_DENIED]];
  [exceptionTable setObject: LassoLogoutErrorFederationNotFound
                     forKey: [NSNumber numberWithInt: LASSO_LOGOUT_ERROR_FEDERATION_NOT_FOUND]];
  [exceptionTable setObject: LassoLogoutErrorUnknownPrincipal
                     forKey: [NSNumber numberWithInt: LASSO_LOGOUT_ERROR_UNKNOWN_PRINCIPAL]];
  [exceptionTable setObject: LassoLogoutErrorPartialLogout
                     forKey: [NSNumber numberWithInt: LASSO_LOGOUT_ERROR_PARTIAL_LOGOUT]];
  [exceptionTable setObject: LassoProfileErrorInvalidQuery
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_INVALID_QUERY]];
  [exceptionTable setObject: LassoProfileErrorInvalidPostMsg
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_INVALID_POST_MSG]];
  [exceptionTable setObject: LassoProfileErrorInvalidSoapMsg
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_INVALID_SOAP_MSG]];
  [exceptionTable setObject: LassoProfileErrorMissingRequest
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_MISSING_REQUEST]];
  [exceptionTable setObject: LassoProfileErrorInvalidHttpMethod
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_INVALID_HTTP_METHOD]];
  [exceptionTable setObject: LassoProfileErrorInvalidProtocolprofile
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_INVALID_PROTOCOLPROFILE]];
  [exceptionTable setObject: LassoProfileErrorInvalidMsg
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_INVALID_MSG]];
  [exceptionTable setObject: LassoProfileErrorMissingRemoteProviderid
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_MISSING_REMOTE_PROVIDERID]];
  [exceptionTable setObject: LassoProfileErrorUnsupportedProfile
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_UNSUPPORTED_PROFILE]];
  [exceptionTable setObject: LassoProfileErrorUnknownProfileUrl
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_UNKNOWN_PROFILE_URL]];
  [exceptionTable setObject: LassoProfileErrorIdentityNotFound
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_IDENTITY_NOT_FOUND]];
  [exceptionTable setObject: LassoProfileErrorFederationNotFound
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_FEDERATION_NOT_FOUND]];
  [exceptionTable setObject: LassoProfileErrorNameIdentifierNotFound
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_NAME_IDENTIFIER_NOT_FOUND]];
  [exceptionTable setObject: LassoProfileErrorBuildingQueryFailed
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_BUILDING_QUERY_FAILED]];
  [exceptionTable setObject: LassoProfileErrorBuildingRequestFailed
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_BUILDING_REQUEST_FAILED]];
  [exceptionTable setObject: LassoProfileErrorBuildingMessageFailed
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_BUILDING_MESSAGE_FAILED]];
  [exceptionTable setObject: LassoProfileErrorBuildingResponseFailed
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_BUILDING_RESPONSE_FAILED]];
  [exceptionTable setObject: LassoProfileErrorSessionNotFound
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_SESSION_NOT_FOUND]];
  [exceptionTable setObject: LassoProfileErrorBadIdentityDump
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_BAD_IDENTITY_DUMP]];
  [exceptionTable setObject: LassoProfileErrorBadSessionDump
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_BAD_SESSION_DUMP]];
  [exceptionTable setObject: LassoProfileErrorMissingResponse
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_MISSING_RESPONSE]];
  [exceptionTable setObject: LassoProfileErrorMissingStatusCode
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_MISSING_STATUS_CODE]];
  [exceptionTable setObject: LassoProfileErrorMissingArtifact
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_MISSING_ARTIFACT]];
  [exceptionTable setObject: LassoProfileErrorMissingResourceOffering
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_MISSING_RESOURCE_OFFERING]];
  [exceptionTable setObject: LassoProfileErrorMissingServiceDescription
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_MISSING_SERVICE_DESCRIPTION]];
  [exceptionTable setObject: LassoProfileErrorMissingServiceType
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_MISSING_SERVICE_TYPE]];
  [exceptionTable setObject: LassoProfileErrorMissingAssertion
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_MISSING_ASSERTION]];
  [exceptionTable setObject: LassoProfileErrorMissingSubject
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_MISSING_SUBJECT]];
  [exceptionTable setObject: LassoProfileErrorMissingNameIdentifier
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_MISSING_NAME_IDENTIFIER]];
  [exceptionTable setObject: LassoProfileErrorInvalidArtifact
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_INVALID_ARTIFACT]];
  [exceptionTable setObject: LassoProfileErrorMissingEncryptionPrivateKey
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_MISSING_ENCRYPTION_PRIVATE_KEY]];
  [exceptionTable setObject: LassoProfileErrorStatusNotSuccess
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_STATUS_NOT_SUCCESS]];
  [exceptionTable setObject: LassoProfileErrorMissingIssuer
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_MISSING_ISSUER]];
  [exceptionTable setObject: LassoProfileErrorMissingServiceInstance
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_MISSING_SERVICE_INSTANCE]];
  [exceptionTable setObject: LassoProfileErrorMissingEndpointReference
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_MISSING_ENDPOINT_REFERENCE]];
  [exceptionTable setObject: LassoProfileErrorMissingEndpointReferenceAddress
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_MISSING_ENDPOINT_REFERENCE_ADDRESS]];
  [exceptionTable setObject: LassoProfileErrorInvalidIssuer
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_INVALID_ISSUER]];
  [exceptionTable setObject: LassoProfileErrorMissingServer
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_MISSING_SERVER]];
  [exceptionTable setObject: LassoProfileErrorUnknownProvider
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_UNKNOWN_PROVIDER]];
  [exceptionTable setObject: LassoProfileErrorCannotVerifySignature
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_CANNOT_VERIFY_SIGNATURE]];
  [exceptionTable setObject: LassoProfileErrorCannotFindAProvider
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_CANNOT_FIND_A_PROVIDER]];
  [exceptionTable setObject: LassoProfileErrorResponseDoesNotMatchRequest
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_RESPONSE_DOES_NOT_MATCH_REQUEST]];
  [exceptionTable setObject: LassoProfileErrorInvalidRequest
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_INVALID_REQUEST]];
  [exceptionTable setObject: LassoProfileErrorInvalidResponse
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_INVALID_RESPONSE]];
  [exceptionTable setObject: LassoProfileErrorUnsupportedBinding
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_UNSUPPORTED_BINDING]];
  [exceptionTable setObject: LassoProfileErrorInvalidAssertionConditions
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_INVALID_ASSERTION_CONDITIONS]];
  [exceptionTable setObject: LassoProfileErrorInvalidAssertion
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_INVALID_ASSERTION]];
  [exceptionTable setObject: LassoProfileErrorUnknownIssuer
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_UNKNOWN_ISSUER]];
  [exceptionTable setObject: LassoProfileErrorIssuerIsNotAnIdp
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_ISSUER_IS_NOT_AN_IDP]];
  [exceptionTable setObject: LassoProfileErrorRequestDenied
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_REQUEST_DENIED]];
  [exceptionTable setObject: LassoProfileErrorEndpointIndexNotFound
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_ENDPOINT_INDEX_NOT_FOUND]];
  [exceptionTable setObject: LassoProfileErrorInvalidIdpList
                     forKey: [NSNumber numberWithInt: LASSO_PROFILE_ERROR_INVALID_IDP_LIST]];
  [exceptionTable setObject: LassoParamErrorBadTypeOrNullObj
                     forKey: [NSNumber numberWithInt: LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ]];
  [exceptionTable setObject: LassoParamErrorInvalidValue
                     forKey: [NSNumber numberWithInt: LASSO_PARAM_ERROR_INVALID_VALUE]];
  [exceptionTable setObject: LassoParamErrorCheckFailed
                     forKey: [NSNumber numberWithInt: LASSO_PARAM_ERROR_CHECK_FAILED]];
  [exceptionTable setObject: LassoParamErrorNonInitializedObject
                     forKey: [NSNumber numberWithInt: LASSO_PARAM_ERROR_NON_INITIALIZED_OBJECT]];
  [exceptionTable setObject: LassoLoginErrorFederationNotFound
                     forKey: [NSNumber numberWithInt: LASSO_LOGIN_ERROR_FEDERATION_NOT_FOUND]];
  [exceptionTable setObject: LassoLoginErrorConsentNotObtained
                     forKey: [NSNumber numberWithInt: LASSO_LOGIN_ERROR_CONSENT_NOT_OBTAINED]];
  [exceptionTable setObject: LassoLoginErrorInvalidNameidpolicy
                     forKey: [NSNumber numberWithInt: LASSO_LOGIN_ERROR_INVALID_NAMEIDPOLICY]];
  [exceptionTable setObject: LassoLoginErrorRequestDenied
                     forKey: [NSNumber numberWithInt: LASSO_LOGIN_ERROR_REQUEST_DENIED]];
  [exceptionTable setObject: LassoLoginErrorInvalidSignature
                     forKey: [NSNumber numberWithInt: LASSO_LOGIN_ERROR_INVALID_SIGNATURE]];
  [exceptionTable setObject: LassoLoginErrorUnsignedAuthnRequest
                     forKey: [NSNumber numberWithInt: LASSO_LOGIN_ERROR_UNSIGNED_AUTHN_REQUEST]];
  [exceptionTable setObject: LassoLoginErrorStatusNotSuccess
                     forKey: [NSNumber numberWithInt: LASSO_LOGIN_ERROR_STATUS_NOT_SUCCESS]];
  [exceptionTable setObject: LassoLoginErrorUnknownPrincipal
                     forKey: [NSNumber numberWithInt: LASSO_LOGIN_ERROR_UNKNOWN_PRINCIPAL]];
  [exceptionTable setObject: LassoLoginErrorNoDefaultEndpoint
                     forKey: [NSNumber numberWithInt: LASSO_LOGIN_ERROR_NO_DEFAULT_ENDPOINT]];
  [exceptionTable setObject: LassoLoginErrorAssertionReplay
                     forKey: [NSNumber numberWithInt: LASSO_LOGIN_ERROR_ASSERTION_REPLAY]];
  [exceptionTable setObject: LassoLoginErrorAssertionDoesNotMatchRequestId
                     forKey: [NSNumber numberWithInt: LASSO_LOGIN_ERROR_ASSERTION_DOES_NOT_MATCH_REQUEST_ID]];
  [exceptionTable setObject: LassoLoginErrorInvalidAssertionSignature
                     forKey: [NSNumber numberWithInt: LASSO_LOGIN_ERROR_INVALID_ASSERTION_SIGNATURE]];
  [exceptionTable setObject: LassoDefederationErrorMissingNameIdentifier
                     forKey: [NSNumber numberWithInt: LASSO_DEFEDERATION_ERROR_MISSING_NAME_IDENTIFIER]];
  [exceptionTable setObject: LassoSoapErrorRedirectRequestFault
                     forKey: [NSNumber numberWithInt: LASSO_SOAP_ERROR_REDIRECT_REQUEST_FAULT]];
  [exceptionTable setObject: LassoSoapFaultRedirectRequest
                     forKey: [NSNumber numberWithInt: LASSO_SOAP_FAULT_REDIRECT_REQUEST]];
  [exceptionTable setObject: LassoSoapErrorMissingEnvelope
                     forKey: [NSNumber numberWithInt: LASSO_SOAP_ERROR_MISSING_ENVELOPE]];
  [exceptionTable setObject: LassoSoapErrorMissingHeader
                     forKey: [NSNumber numberWithInt: LASSO_SOAP_ERROR_MISSING_HEADER]];
  [exceptionTable setObject: LassoSoapErrorMissingBody
                     forKey: [NSNumber numberWithInt: LASSO_SOAP_ERROR_MISSING_BODY]];
  [exceptionTable setObject: LassoSoapErrorMissingSoapFaultDetail
                     forKey: [NSNumber numberWithInt: LASSO_SOAP_ERROR_MISSING_SOAP_FAULT_DETAIL]];
  [exceptionTable setObject: LassoNameIdentifierMappingErrorMissingTargetNamespace
                     forKey: [NSNumber numberWithInt: LASSO_NAME_IDENTIFIER_MAPPING_ERROR_MISSING_TARGET_NAMESPACE]];
  [exceptionTable setObject: LassoNameIdentifierMappingErrorForbiddenCallOnThisSide
                     forKey: [NSNumber numberWithInt: LASSO_NAME_IDENTIFIER_MAPPING_ERROR_FORBIDDEN_CALL_ON_THIS_SIDE]];
  [exceptionTable setObject: LassoNameIdentifierMappingErrorMissingTargetIdentifier
                     forKey: [NSNumber numberWithInt: LASSO_NAME_IDENTIFIER_MAPPING_ERROR_MISSING_TARGET_IDENTIFIER]];
  [exceptionTable setObject: LassoDataServiceErrorUnregisteredDst
                     forKey: [NSNumber numberWithInt: LASSO_DATA_SERVICE_ERROR_UNREGISTERED_DST]];
  [exceptionTable setObject: LassoDataServiceErrorCannotAddItem
                     forKey: [NSNumber numberWithInt: LASSO_DATA_SERVICE_ERROR_CANNOT_ADD_ITEM]];
  [exceptionTable setObject: LassoWsfProfileErrorMissingCorrelation
                     forKey: [NSNumber numberWithInt: LASSO_WSF_PROFILE_ERROR_MISSING_CORRELATION]];
  [exceptionTable setObject: LassoWsfProfileErrorMissingSecurity
                     forKey: [NSNumber numberWithInt: LASSO_WSF_PROFILE_ERROR_MISSING_SECURITY]];
  [exceptionTable setObject: LassoWsfProfileErrorMissingAssertionId
                     forKey: [NSNumber numberWithInt: LASSO_WSF_PROFILE_ERROR_MISSING_ASSERTION_ID]];
  [exceptionTable setObject: LassoWsfProfileErrorMissingEndpoint
                     forKey: [NSNumber numberWithInt: LASSO_WSF_PROFILE_ERROR_MISSING_ENDPOINT]];
  [exceptionTable setObject: LassoWsfProfileErrorSoapFault
                     forKey: [NSNumber numberWithInt: LASSO_WSF_PROFILE_ERROR_SOAP_FAULT]];
  [exceptionTable setObject: LassoWsfProfileErrorUnsupportedSecurityMechanism
                     forKey: [NSNumber numberWithInt: LASSO_WSF_PROFILE_ERROR_UNSUPPORTED_SECURITY_MECHANISM]];
  [exceptionTable setObject: LassoWsfProfileErrorMissingDescription
                     forKey: [NSNumber numberWithInt: LASSO_WSF_PROFILE_ERROR_MISSING_DESCRIPTION]];
  [exceptionTable setObject: LassoWsfProfileErrorMissingResourceId
                     forKey: [NSNumber numberWithInt: LASSO_WSF_PROFILE_ERROR_MISSING_RESOURCE_ID]];
  [exceptionTable setObject: LassoWsfProfileErrorMissingCredentialRef
                     forKey: [NSNumber numberWithInt: LASSO_WSF_PROFILE_ERROR_MISSING_CREDENTIAL_REF]];
  [exceptionTable setObject: LassoWsfProfileErrorInvalidOrMissingReferenceToMessageId
                     forKey: [NSNumber numberWithInt: LASSO_WSF_PROFILE_ERROR_INVALID_OR_MISSING_REFERENCE_TO_MESSAGE_ID]];
  [exceptionTable setObject: LassoWsfProfileErrorSecurityMechanismCheckFailed
                     forKey: [NSNumber numberWithInt: LASSO_WSF_PROFILE_ERROR_SECURITY_MECHANISM_CHECK_FAILED]];
  [exceptionTable setObject: LassoWsfProfileErrorUnknownStatusCode
                     forKey: [NSNumber numberWithInt: LASSO_WSF_PROFILE_ERROR_UNKNOWN_STATUS_CODE]];
  [exceptionTable setObject: LassoWsfProfileErrorServerInteractionRequired
                     forKey: [NSNumber numberWithInt: LASSO_WSF_PROFILE_ERROR_SERVER_INTERACTION_REQUIRED]];
  [exceptionTable setObject: LassoWsfProfileErrorServerInteractionRequiredForData
                     forKey: [NSNumber numberWithInt: LASSO_WSF_PROFILE_ERROR_SERVER_INTERACTION_REQUIRED_FOR_DATA]];
  [exceptionTable setObject: LassoWsfProfileErrorRedirectRequest
                     forKey: [NSNumber numberWithInt: LASSO_WSF_PROFILE_ERROR_REDIRECT_REQUEST]];
  [exceptionTable setObject: LassoWsfProfileErrorRedirectRequestUnsupportedByRequester
                     forKey: [NSNumber numberWithInt: LASSO_WSF_PROFILE_ERROR_REDIRECT_REQUEST_UNSUPPORTED_BY_REQUESTER]];
  [exceptionTable setObject: LassoWsfProfileErrorMissingSenderId
                     forKey: [NSNumber numberWithInt: LASSO_WSF_PROFILE_ERROR_MISSING_SENDER_ID]];
  [exceptionTable setObject: LassoDiscoveryErrorSvcMetadataRegisterFailed
                     forKey: [NSNumber numberWithInt: LASSO_DISCOVERY_ERROR_SVC_METADATA_REGISTER_FAILED]];
  [exceptionTable setObject: LassoDiscoveryErrorSvcMetadataAssociationAddFailed
                     forKey: [NSNumber numberWithInt: LASSO_DISCOVERY_ERROR_SVC_METADATA_ASSOCIATION_ADD_FAILED]];
  [exceptionTable setObject: LassoDiscoveryErrorMissingRequestedService
                     forKey: [NSNumber numberWithInt: LASSO_DISCOVERY_ERROR_MISSING_REQUESTED_SERVICE]];
  [exceptionTable setObject: LassoDiscoveryErrorFailedToBuildEndpointReference
                     forKey: [NSNumber numberWithInt: LASSO_DISCOVERY_ERROR_FAILED_TO_BUILD_ENDPOINT_REFERENCE]];
  [exceptionTable setObject: LassoDstErrorMissingServiceData
                     forKey: [NSNumber numberWithInt: LASSO_DST_ERROR_MISSING_SERVICE_DATA]];
  [exceptionTable setObject: LassoDstErrorQueryFailed
                     forKey: [NSNumber numberWithInt: LASSO_DST_ERROR_QUERY_FAILED]];
  [exceptionTable setObject: LassoDstErrorQueryPartiallyFailed
                     forKey: [NSNumber numberWithInt: LASSO_DST_ERROR_QUERY_PARTIALLY_FAILED]];
  [exceptionTable setObject: LassoDstErrorModifyFailed
                     forKey: [NSNumber numberWithInt: LASSO_DST_ERROR_MODIFY_FAILED]];
  [exceptionTable setObject: LassoDstErrorModifyPartiallyFailed
                     forKey: [NSNumber numberWithInt: LASSO_DST_ERROR_MODIFY_PARTIALLY_FAILED]];
  [exceptionTable setObject: LassoDstErrorNewDataMissing
                     forKey: [NSNumber numberWithInt: LASSO_DST_ERROR_NEW_DATA_MISSING]];
  [exceptionTable setObject: LassoDstErrorQueryNotFound
                     forKey: [NSNumber numberWithInt: LASSO_DST_ERROR_QUERY_NOT_FOUND]];
  [exceptionTable setObject: LassoDstErrorNoData
                     forKey: [NSNumber numberWithInt: LASSO_DST_ERROR_NO_DATA]];
  [exceptionTable setObject: LassoDstErrorMalformedQuery
                     forKey: [NSNumber numberWithInt: LASSO_DST_ERROR_MALFORMED_QUERY]];
  [exceptionTable setObject: LassoDstErrorEmptyRequest
                     forKey: [NSNumber numberWithInt: LASSO_DST_ERROR_EMPTY_REQUEST]];
  [exceptionTable setObject: LassoRegistryErrorKeyExists
                     forKey: [NSNumber numberWithInt: LASSO_REGISTRY_ERROR_KEY_EXISTS]];
  [exceptionTable setObject: LassoProviderErrorMissingPublicKey
                     forKey: [NSNumber numberWithInt: LASSO_PROVIDER_ERROR_MISSING_PUBLIC_KEY]];
  [exceptionTable setObject: LassoWssecErrorMissingSecurityToken
                     forKey: [NSNumber numberWithInt: LASSO_WSSEC_ERROR_MISSING_SECURITY_TOKEN]];
  [exceptionTable setObject: LassoWssecErrorBadPassword
                     forKey: [NSNumber numberWithInt: LASSO_WSSEC_ERROR_BAD_PASSWORD]];
  [exceptionTable setObject: LassoIdwsf2DiscoveryErrorFailed
                     forKey: [NSNumber numberWithInt: LASSO_IDWSF2_DISCOVERY_ERROR_FAILED]];
  [exceptionTable setObject: LassoIdwsf2DiscoveryErrorForbidden
                     forKey: [NSNumber numberWithInt: LASSO_IDWSF2_DISCOVERY_ERROR_FORBIDDEN]];
  [exceptionTable setObject: LassoIdwsf2DiscoveryErrorDuplicate
                     forKey: [NSNumber numberWithInt: LASSO_IDWSF2_DISCOVERY_ERROR_DUPLICATE]];
  [exceptionTable setObject: LassoIdwsf2DiscoveryErrorLogicalDuplicate
                     forKey: [NSNumber numberWithInt: LASSO_IDWSF2_DISCOVERY_ERROR_LOGICAL_DUPLICATE]];
  [exceptionTable setObject: LassoIdwsf2DiscoveryErrorNoResults
                     forKey: [NSNumber numberWithInt: LASSO_IDWSF2_DISCOVERY_ERROR_NO_RESULTS]];
  [exceptionTable setObject: LassoIdwsf2DiscoveryErrorNotFound
                     forKey: [NSNumber numberWithInt: LASSO_IDWSF2_DISCOVERY_ERROR_NOT_FOUND]];
  [exceptionTable setObject: LassoIdwsf2DstErrorDuplicateItem
                     forKey: [NSNumber numberWithInt: LASSO_IDWSF2_DST_ERROR_DUPLICATE_ITEM]];
  [exceptionTable setObject: LassoIdwsf2DstErrorPartialFailure
                     forKey: [NSNumber numberWithInt: LASSO_IDWSF2_DST_ERROR_PARTIAL_FAILURE]];
  [exceptionTable setObject: LassoIdwsf2DstErrorUnknownStatusCode
                     forKey: [NSNumber numberWithInt: LASSO_IDWSF2_DST_ERROR_UNKNOWN_STATUS_CODE]];
  [exceptionTable setObject: LassoIdwsf2DstErrorItemNotFound
                     forKey: [NSNumber numberWithInt: LASSO_IDWSF2_DST_ERROR_ITEM_NOT_FOUND]];
  [exceptionTable setObject: LassoAssertionQueryErrorAttributeRequestAlreadyExist
                     forKey: [NSNumber numberWithInt: LASSO_ASSERTION_QUERY_ERROR_ATTRIBUTE_REQUEST_ALREADY_EXIST]];
  [exceptionTable setObject: LassoAssertionQueryErrorNotAnAttributeQuery
                     forKey: [NSNumber numberWithInt: LASSO_ASSERTION_QUERY_ERROR_NOT_AN_ATTRIBUTE_QUERY]];
  [exceptionTable setObject: LassoXmlencErrorInvalidEncryptedData
                     forKey: [NSNumber numberWithInt: LASSO_XMLENC_ERROR_INVALID_ENCRYPTED_DATA]];
  [exceptionTable setObject: LassoPaosErrorMissingRequest
                     forKey: [NSNumber numberWithInt: LASSO_PAOS_ERROR_MISSING_REQUEST]];
  [exceptionTable setObject: LassoPaosErrorMissingResponse
                     forKey: [NSNumber numberWithInt: LASSO_PAOS_ERROR_MISSING_RESPONSE]];
  [exceptionTable setObject: LassoPaosErrorMissingResponseConsumerUrl
                     forKey: [NSNumber numberWithInt: LASSO_PAOS_ERROR_MISSING_RESPONSE_CONSUMER_URL]];
  [exceptionTable setObject: LassoEcpErrorMissingRequest
                     forKey: [NSNumber numberWithInt: LASSO_ECP_ERROR_MISSING_REQUEST]];
  [exceptionTable setObject: LassoEcpErrorMissingResponse
                     forKey: [NSNumber numberWithInt: LASSO_ECP_ERROR_MISSING_RESPONSE]];
  [exceptionTable setObject: LassoEcpErrorMissingRelaystate
                     forKey: [NSNumber numberWithInt: LASSO_ECP_ERROR_MISSING_RELAYSTATE]];
  [exceptionTable setObject: LassoEcpErrorMissingAuthnRequest
                     forKey: [NSNumber numberWithInt: LASSO_ECP_ERROR_MISSING_AUTHN_REQUEST]];
  [exceptionTable setObject: LassoEcpErrorMissingSamlResponse
                     forKey: [NSNumber numberWithInt: LASSO_ECP_ERROR_MISSING_SAML_RESPONSE]];
  [exceptionTable setObject: LassoEcpErrorAssertionConsumerUrlMismatch
                     forKey: [NSNumber numberWithInt: LASSO_ECP_ERROR_ASSERTION_CONSUMER_URL_MISMATCH]];
}

+ (void) raiseSAML2Exception: (lasso_error_t) lassoError
{
  NSString *exceptionName, *reason;

  if (!exceptionTable)
    InitExceptionTable ();

  exceptionName = [exceptionTable objectForKey: [NSNumber numberWithInt: lassoError]];
  if (!exceptionName)
    exceptionName = NSGenericException;

  reason = [NSString stringWithUTF8String: lasso_strerror (lassoError)];
  if (!reason)
    reason = @"unspecified";

  [self raise: exceptionName format: @"%@", reason];
}

@end
