public static Exception GetAuthorizationRequiredException(MessageFault fault) { AuthorizationRequiredFault failure = fault.DeserializeMessageWithPayload <AuthorizationRequiredFault>(); if (failure == null) { return(new FaultException(fault)); } return(new AuthorizationRequiredException(failure)); }
/// <summary> /// Gets a string representation of the exception /// </summary> /// <param name="failure">The object containing details of the failure</param> /// <returns>A string containing the details of the exception</returns> private static string GetMessage(AuthorizationRequiredFault failure) { if (failure != null) { return(string.Format( AuthorizationRequiredException.messageFormat, failure.EndpointReference.ReferenceProperties?.ResourceReferenceProperty?.Text )); } else { return(string.Format("A generic authorization failure was returned from the server that did not contain detailed information")); } }
/// <summary> /// Initializes a new instance of the AuthorizationRequiredException class /// </summary> /// <param name="failure">The object containing the details of the failure</param> public AuthorizationRequiredException(AuthorizationRequiredFault failure) : base(GetMessage(failure)) { this.details = failure; this.ResourceReference = this.details.EndpointReference?.ReferenceProperties?.ResourceReferenceProperty?.Text?.Replace("urn:uuid:", string.Empty); }