コード例 #1
0
        /// <summary>
        /// Tries to read element from XML.
        /// </summary>
        /// <param name="reader">The reader.</param>
        /// <returns>True if element was read.</returns>
        internal override bool TryReadElementFromXml(EwsServiceXmlReader reader)
        {
            switch (reader.LocalName)
            {
            case XmlElementNames.Manifest:
                this.Manifest = ClientApp.ReadToXmlDocument(reader);
                return(true);

            case XmlElementNames.Metadata:
                this.Metadata = new ClientAppMetadata();
                this.Metadata.LoadFromXml(reader, XmlNamespace.Types, XmlElementNames.Metadata);
                return(true);

            default:
                return(false);
            }
        }
コード例 #2
0
        /// <summary>
        /// Read the response from Exchange 2013.
        /// This method assumes that the reader is currently at the Manifests element.
        /// </summary>
        /// <param name="reader">The reader.</param>
        private void ReadFromExchange2013(EwsServiceXmlReader reader)
        {
            ////<GetAppManifestsResponse ResponseClass="Success" xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
            ////<ResponseCode>NoError</ResponseCode>
            ////<m:Manifests xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages">
            ////<m:Manifest>[base 64 encoded manifest]</m:Manifest>                              <--- reader should be at this node at the beginning of loop
            ////<m:Manifest>[base 64 encoded manifest]</m:Manifest>
            //// ....
            ////</m:Manifests>                                                                   <--- reader should be at this node at the end of the loop
            while (reader.IsStartElement(XmlNamespace.Messages, XmlElementNames.Manifest))
            {
                XmlDocument manifest = ClientApp.ReadToXmlDocument(reader);
                this.Manifests.Add(manifest);

                this.Apps.Add(new ClientApp()
                {
                    Manifest = manifest
                });
            }
        }