public void BeforeSendReply(ref System.ServiceModel.Channels.Message reply, object correlationState) { object result = null; if (OperationContext.Current.OutgoingMessageProperties.TryGetValue("VeriBranchResult", out result)) { VeriBranchMessageHeader messageHeader = new VeriBranchMessageHeader(); if (result != null) { SharedAspectsHelper.MapVeriBranchResultToVeriBranchMessageHeader((VeriBranchResult)result, messageHeader); OperationContext.Current.OutgoingMessageProperties.Remove("VeriBranchResult"); } if (messageHeader != null) { reply.Headers.Add(messageHeader); } } }
public static void MapVeriBranchResultToVeriBranchMessageHeader(VeriBranchResult result, VeriBranchMessageHeader messageHeader) { if (result == null) { messageHeader = null; return; } messageHeader.IsSuccess = result.IsSuccess; if (result.Error != null) { messageHeader.Description = result.Error.Description; messageHeader.DisplayMessage = result.Error.DisplayMessage; messageHeader.ErrorCode = result.Error.Code; messageHeader.ExceptionMessage = result.Error.ExceptionMessage; } }