/// <summary> /// Enables the creation of a custom System.ServiceModel.FaultException{TDetail} /// that is returned from an exception in the course of a service method. /// </summary> /// <param name="error">The System.Exception object thrown in the course of the service operation.</param> /// <param name="version">The SOAP version of the message.</param> /// <param name="fault"> /// The System.ServiceModel.Channels.Message object that is returned to the client, or service in /// duplex case /// </param> public void ProvideFault(Exception error, MessageVersion version, ref Message fault) { if (error is FaultException<ApplicationServiceError>) { var messageFault = ((FaultException<ApplicationServiceError>) error).CreateMessageFault(); //propagate FaultException fault = Message.CreateMessage( version, messageFault, ((FaultException<ApplicationServiceError>) error).Action); } else { //create service error var defaultError = new ApplicationServiceError() { ErrorMessage = Messages.message_DefaultErrorMessage }; //Create fault exception and message fault var defaultFaultException = new FaultException<ApplicationServiceError>(defaultError); var defaultMessageFault = defaultFaultException.CreateMessageFault(); //propagate FaultException fault = Message.CreateMessage(version, defaultMessageFault, defaultFaultException.Action); } }
/// <summary> /// Enables the creation of a custom System.ServiceModel.FaultException{TDetail} /// that is returned from an exception in the course of a service method. /// </summary> /// <param name="error">The System.Exception object thrown in the course of the service operation.</param> /// <param name="version">The SOAP version of the message.</param> /// <param name="fault">The System.ServiceModel.Channels.Message object that is returned to the client, or service in duplex case</param> public void ProvideFault(Exception error, System.ServiceModel.Channels.MessageVersion version, ref System.ServiceModel.Channels.Message fault) { if (error is FaultException<ApplicationServiceError>) { MessageFault messageFault = ((FaultException<ApplicationServiceError>)error).CreateMessageFault(); //propagate FaultException fault = Message.CreateMessage(version, messageFault, ((FaultException<ApplicationServiceError>)error).Action); } else { //create service error ApplicationServiceError defaultError = new ApplicationServiceError() { ErrorMessage = Resources.Messages.message_DefaultErrorMessage }; //Create fault exception and message fault FaultException<ApplicationServiceError> defaultFaultException = new FaultException<ApplicationServiceError>(defaultError); MessageFault defaultMessageFault = defaultFaultException.CreateMessageFault(); //propagate FaultException fault = Message.CreateMessage(version, defaultMessageFault, defaultFaultException.Action); } }
/// <summary> /// Enables the creation of a custom System.ServiceModel.FaultException{TDetail} /// that is returned from an exception in the course of a service method. /// </summary> /// <param name="error">The System.Exception object thrown in the course of the service operation.</param> /// <param name="version">The SOAP version of the message.</param> /// <param name="fault">The System.ServiceModel.Channels.Message object that is returned to the client, or service in duplex case</param> public void ProvideFault(Exception error, System.ServiceModel.Channels.MessageVersion version, ref System.ServiceModel.Channels.Message fault) { if (error is FaultException <ApplicationServiceError> ) { MessageFault messageFault = ((FaultException <ApplicationServiceError>)error).CreateMessageFault(); //propagate FaultException fault = Message.CreateMessage(version, messageFault, ((FaultException <ApplicationServiceError>)error).Action); } else { //create service error ApplicationServiceError defaultError = new ApplicationServiceError() { ErrorMessage = Resources.Messages.message_DefaultErrorMessage }; //Create fault exception and message fault FaultException <ApplicationServiceError> defaultFaultException = new FaultException <ApplicationServiceError>(defaultError); MessageFault defaultMessageFault = defaultFaultException.CreateMessageFault(); //propagate FaultException fault = Message.CreateMessage(version, defaultMessageFault, defaultFaultException.Action); } }
/// <summary> /// Enables the creation of a custom System.ServiceModel.FaultException{TDetail} /// that is returned from an exception in the course of a service method. /// </summary> /// <param name="error">The System.Exception object thrown in the course of the service operation.</param> /// <param name="version">The SOAP version of the message.</param> /// <param name="fault"> /// The System.ServiceModel.Channels.Message object that is returned to the client, or service in /// duplex case /// </param> public void ProvideFault(Exception error, MessageVersion version, ref Message fault) { if (error is FaultException <ApplicationServiceError> ) { var messageFault = ((FaultException <ApplicationServiceError>)error).CreateMessageFault(); //propagate FaultException fault = Message.CreateMessage( version, messageFault, ((FaultException <ApplicationServiceError>)error).Action); } else { //create service error var defaultError = new ApplicationServiceError() { ErrorMessage = Messages.message_DefaultErrorMessage }; //Create fault exception and message fault var defaultFaultException = new FaultException <ApplicationServiceError>(defaultError); var defaultMessageFault = defaultFaultException.CreateMessageFault(); //propagate FaultException fault = Message.CreateMessage(version, defaultMessageFault, defaultFaultException.Action); } }