private BatchSendFailException UnmarshallBatchSendError(XmlTextReader reader)
 {
     BatchSendFailException batchSendFailException = new BatchSendFailException();
     BatchSendErrorItem errorItem = null;
     SentMessageResponse responseItem = null;
     while (reader.Read())
     {
         switch (reader.NodeType)
         {
             case XmlNodeType.Element:
                 switch (reader.LocalName)
                 {
                     case MNSConstants.XML_ELEMENT_ERROR_CODE:
                         if (errorItem == null)
                         {
                             errorItem = new BatchSendErrorItem();
                         }
                         errorItem.ErrorCode = reader.ReadElementContentAsString();
                         break;
                     case MNSConstants.XML_ELEMENT_ERROR_MESSAGE:
                         if (errorItem == null)
                         {
                             errorItem = new BatchSendErrorItem();
                         }
                         errorItem.ErrorMessage = reader.ReadElementContentAsString();
                         break;
                     case MNSConstants.XML_ELEMENT_MESSAGE_ID:
                         if (responseItem == null)
                         {
                             responseItem = new SentMessageResponse();
                         }
                         responseItem.MessageId = reader.ReadElementContentAsString();
                         break;
                     case MNSConstants.XML_ELEMENT_MESSAGE_BODY_MD5:
                         if (responseItem == null)
                         {
                             responseItem = new SentMessageResponse();
                         }
                         responseItem.MessageBodyMd5 = reader.ReadElementContentAsString();
                         break;
                 }
                 break;
             case XmlNodeType.EndElement:
                 if (reader.LocalName == MNSConstants.XML_ROOT_MESSAGE)
                 {
                     if (errorItem != null)
                     {
                         batchSendFailException.ErrorItems.Add(errorItem);
                         errorItem = null;
                     }
                     else if (responseItem != null)
                     {
                         batchSendFailException.SentMessageResponses.Add(responseItem);
                         responseItem = null;
                     }
                 }
                 break;
         }
     }
     reader.Close();
     return batchSendFailException;
 }
Ejemplo n.º 2
0
        private BatchSendFailException UnmarshallBatchSendError(XmlTextReader reader)
        {
            BatchSendFailException batchSendFailException = new BatchSendFailException();
            BatchSendErrorItem     errorItem    = null;
            SentMessageResponse    responseItem = null;

            while (reader.Read())
            {
                switch (reader.NodeType)
                {
                case XmlNodeType.Element:
                    switch (reader.LocalName)
                    {
                    case MNSConstants.XML_ELEMENT_ERROR_CODE:
                        if (errorItem == null)
                        {
                            errorItem = new BatchSendErrorItem();
                        }
                        reader.Read();
                        errorItem.ErrorCode = reader.Value;
                        break;

                    case MNSConstants.XML_ELEMENT_ERROR_MESSAGE:
                        if (errorItem == null)
                        {
                            errorItem = new BatchSendErrorItem();
                        }
                        reader.Read();
                        errorItem.ErrorMessage = reader.Value;
                        break;

                    case MNSConstants.XML_ELEMENT_MESSAGE_ID:
                        if (responseItem == null)
                        {
                            responseItem = new SentMessageResponse();
                        }
                        reader.Read();
                        responseItem.MessageId = reader.Value;
                        break;

                    case MNSConstants.XML_ELEMENT_MESSAGE_BODY_MD5:
                        if (responseItem == null)
                        {
                            responseItem = new SentMessageResponse();
                        }
                        reader.Read();
                        responseItem.MessageBodyMd5 = reader.Value;
                        break;
                    }
                    break;

                case XmlNodeType.EndElement:
                    if (reader.LocalName == MNSConstants.XML_ROOT_MESSAGE)
                    {
                        if (errorItem != null)
                        {
                            batchSendFailException.ErrorItems.Add(errorItem);
                            errorItem = null;
                        }
                        else if (responseItem != null)
                        {
                            batchSendFailException.SentMessageResponses.Add(responseItem);
                            responseItem = null;
                        }
                    }
                    break;
                }
            }
            reader.Close();
            return(batchSendFailException);
        }