public static Exception GetInvalidRepresentationException(MessageFault fault) { RepresentationFailures failure = fault.DeserializeMessageWithPayload <RepresentationFailures>(); if (failure == null) { return(new FaultException(fault)); } return(InvalidRepresentationException.GetException(failure)); }
/// <summary> /// Gets an exception object that is appropriate for the specified representation failure /// </summary> /// <param name="failures">The object representing the failure</param> /// <returns>This method returns either an AttributeRepresentationFailureException, MessageRepresentationFailureException, or generic InvalidRepresentationException</returns> internal static InvalidRepresentationException GetException(RepresentationFailures failures) { if (failures == null) { throw new ArgumentNullException(nameof(failures)); } if (failures.AttributeRepresentationFailures != null && failures.AttributeRepresentationFailures.Length > 0) { return(new AttributeRepresentationFailureException(failures.AttributeRepresentationFailures[0], failures.CorrelationIdentifier)); } if (failures.MessageRepresentationFailures != null && failures.MessageRepresentationFailures.Length > 0) { return(new MessageRepresentationFailureException(failures.MessageRepresentationFailures[0], failures.CorrelationIdentifier)); } return(new InvalidRepresentationException("A generic representation failure was returned from the server that did not contain detailed information", failures.CorrelationIdentifier)); }