public override WebServiceResponse Unmarshall(XmlUnmarshallerContext context)
        {
            XmlTextReader reader = new XmlTextReader(context.ResponseStream);
            BatchSendMessageResponse batchSendMessageResponse = new BatchSendMessageResponse();
            SendMessageResponse messageResponse = null;

            while (reader.Read())
            {
                switch (reader.NodeType)
                {
                    case XmlNodeType.Element:
                        switch (reader.LocalName)
                        {
                            case MNSConstants.XML_ROOT_MESSAGE:
                                messageResponse = new SendMessageResponse();
                                break;
                            case MNSConstants.XML_ELEMENT_MESSAGE_ID:
                                messageResponse.MessageId = reader.ReadElementContentAsString();
                                break;
                            case MNSConstants.XML_ELEMENT_MESSAGE_BODY_MD5:
                                messageResponse.MessageBodyMD5 = reader.ReadElementContentAsString();
                                break;
                        }
                        break;
                    case XmlNodeType.EndElement:
                        if (reader.LocalName == MNSConstants.XML_ROOT_MESSAGE)
                        {
                            batchSendMessageResponse.Responses.Add(messageResponse);
                        }
                        break;
                }
            }
            reader.Close();
            return batchSendMessageResponse;
        }
예제 #2
0
        public override WebServiceResponse Unmarshall(XmlUnmarshallerContext context)
        {
            XmlTextReader            reader = new XmlTextReader(context.ResponseStream);
            BatchSendMessageResponse batchSendMessageResponse = new BatchSendMessageResponse();
            SendMessageResponse      messageResponse          = null;

            while (reader.Read())
            {
                switch (reader.NodeType)
                {
                case XmlNodeType.Element:
                    switch (reader.LocalName)
                    {
                    case MNSConstants.XML_ROOT_MESSAGE:
                        messageResponse = new SendMessageResponse();
                        break;

                    case MNSConstants.XML_ELEMENT_MESSAGE_ID:
                        reader.Read();
                        messageResponse.MessageId = reader.Value;
                        break;

                    case MNSConstants.XML_ELEMENT_MESSAGE_BODY_MD5:
                        reader.Read();
                        messageResponse.MessageBodyMD5 = reader.Value;
                        break;
                    }
                    break;

                case XmlNodeType.EndElement:
                    if (reader.LocalName == MNSConstants.XML_ROOT_MESSAGE)
                    {
                        batchSendMessageResponse.Responses.Add(messageResponse);
                    }
                    break;
                }
            }
            reader.Close();
            return(batchSendMessageResponse);
        }