private CellStorageResponse GetCellStorageResponseObject(Message responseMsg)
{
CellStorageResponse cellStorageResponse = new CellStorageResponse();
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(responseMsg.ToString());
// deserialize the ResponseVersion node
XmlNodeList responseVersionNodeList = xmlDoc.GetElementsByTagName("ResponseVersion");
if (responseVersionNodeList.Count > 0)
{
XmlSerializer responseVersionNodeSerializer = new XmlSerializer(typeof(XmlNode));
MemoryStream responseVersionMemStream = new MemoryStream();
responseVersionNodeSerializer.Serialize(responseVersionMemStream, responseVersionNodeList[0]);
responseVersionMemStream.Position = 0;
XmlSerializer responseVersionSerializer = new XmlSerializer(typeof(ResponseVersion));
cellStorageResponse.responseVersion = (ResponseVersion)responseVersionSerializer.Deserialize(responseVersionMemStream);
}
// deserialize the ResponseCollection node
XmlNodeList responseCollectionNodeList = xmlDoc.GetElementsByTagName("ResponseCollection");
if (responseCollectionNodeList.Count > 0)
{
XmlSerializer responseCollectionNodeSerializer = new XmlSerializer(typeof(XmlNode));
MemoryStream responseCollectionMemStream = new MemoryStream();
responseCollectionNodeSerializer.Serialize(responseCollectionMemStream, responseCollectionNodeList[0]);
responseCollectionMemStream.Position = 0;
XmlSerializer responseCollectionSerializer = new XmlSerializer(typeof(ResponseCollection));
cellStorageResponse.responseCollection = (ResponseCollection)responseCollectionSerializer.Deserialize(responseCollectionMemStream);
}
return cellStorageResponse;
}