public static void TestDeserializeSuccessResponse(ILoggingService loggingService) { GovTalkMessageFileName FileNamer = new GovTalkMessageFileName.FileNameBuilder() .AddLogger(loggingService) .AddFilePath(@"C:\Temp\") .AddEnvironment("live") .AddMessageIntention("PollMessage") .AddTimestamp("2015_02_02_12_41") .AddCorrelationId("1853DE80F71CEF4C07B57CD5BDA969D577") .AddMessageQualifier("response") .AddCustomNamePart("20150202124118") .BuildFileName(); string filename = FileNamer.ToString(); XmlDocument successMessage = new XmlDocument(); successMessage.Load(filename); GovTalkMessage success = XmlSerializationHelpers.DeserializeMessage(successMessage); XmlDocument successXml = new XmlDocument(); successXml.LoadXml(success.Body.Any[0].OuterXml); SuccessResponse successResp = XmlSerializationHelpers.DeserializeSuccessResponse(successXml); loggingService.LogInfo(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, successResp.Message[0].Value); }
public void ReadMessage(XDocument inMessage) { try { _message = XmlSerializationHelpers.DeserializeMessage(inMessage.ToXmlDocument()); _correlationId = _message.Header.MessageDetails.CorrelationID; _qualifier = _message.Header.MessageDetails.Qualifier.ToString(); _function = _message.Header.MessageDetails.Function.ToString(); if (_message.Header.MessageDetails.GatewayTimestampSpecified) { _gatewayTimestamp = _message.Header.MessageDetails.GatewayTimestamp; } XmlDocument successXml = new XmlDocument(); if (_message.Body.Any != null) { successXml.LoadXml(_message.Body.Any[0].OuterXml); _body = XmlSerializationHelpers.DeserializeSuccessResponse(successXml); } else { MessageType messageType = new MessageType { Value = "No valid SuccessResponse contained in the Body element of this message. Contact Support." }; SuccessResponse dummyResponse = new SuccessResponse { IRmarkReceipt = null, Message = new MessageType[] { messageType }, AcceptedTime = (DateTime)_gatewayTimestamp }; _body = dummyResponse; } _messageRead = true; _loggingService.LogInfo(this, "Message read. Response type is Response."); } catch (Exception ex) { _loggingService.LogError(this, "Message Reading Exception", ex); GovTalkMessageFileName FileNamer = new GovTalkMessageFileName(_loggingService, _configurationRepository); string filename = FileNamer.DefaultFileName(); _loggingService.LogInfo(this, String.Concat("Attempting to save reply document to ", filename, ".")); inMessage.Save(filename); throw ex; } }