using BeWo.Service.Core; using BeWo.Service.ServiceUtils; using System; using System.Collections.Generic; using System.Configuration; using System.IO; using System.Linq; using System.Runtime.Serialization; using System.Runtime.Serialization.Json; using System.ServiceModel; using System.ServiceModel.Channels; using System.ServiceModel.Dispatcher; using System.Text; using System.Threading.Tasks; using System.Xml; namespace BeWo.Service.ServiceBehavior.WCFError { public class WCFErrorHandler : IErrorHandler { public bool HandleError(Exception exception) { return true; } public void ProvideFault(Exception error, MessageVersion version, ref Message message) { ServiceHelper.CoreLogger.LogError(error, nameof(WCFErrorHandler)); var wcfError = Utils.CreateBeWoFaultException(error); var fault = wcfError.CreateMessageFault(); string action = OperationContext.Current.IncomingMessageHeaders.Action; message = Message.CreateMessage(version, fault, action); } } }