public ConvertResponseMessage Convert(MessageContracts.Converter.V1.ConvertMessage message) { Guid requestId = Guid.NewGuid(); if (this.logger != null) { RemoteEndpointMessageProperty endpointProperty = OperationContext.Current.IncomingMessageProperties[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty; RequestLog requestLog = new RequestLog { RequestId = requestId, RequestDateUtc = DateTime.UtcNow, SenderIp = endpointProperty.Address, FileExtension = message.FileExtension, FileSize = message.FileBytes.Length, CustomAttributes = message.CustomAttributes?.ToDictionary(p => p.Name, p => p.Value) }; this.logger.LogRequest(requestLog); } byte[] fileBytes = null; Exception convertException = null; try { fileBytes = this.converter.Convert(message.FileBytes, message.FileExtension); } catch (Exception e) { convertException = e; } if (this.logger != null) { ResponseLog responseLog = new ResponseLog { RequestId = requestId, ResponseDateUtc = DateTime.UtcNow, ResultFileSize = fileBytes?.Length, ErrorType = convertException.ToConvertErrorType() }; this.logger.LogResponse(responseLog); } if (convertException == null) { return(new ConvertResponseMessage { RequestId = requestId, FileBytes = fileBytes }); } else { FaultException fault; try { fault = convertException.ToV1FaultConverter(); } catch (NotSupportedException) { throw convertException; } throw fault; } }
public ConvertResponseMessage Convert(MessageContracts.Converter.V1.ConvertMessage message) { return(base.Channel.Convert(message)); }