Пример #1
0
        private EAS.generated.ProvisionResponseNamespace.Provision GetProvisionObjectFromXML(string x)
        {
            MemoryStream streamOut = new MemoryStream();
            StreamWriter writer    = new StreamWriter(streamOut);

            writer.Write(x);
            writer.Flush();
            streamOut.Position = 0;

            XmlSerializer deser = new XmlSerializer(typeof(EAS.generated.ProvisionResponseNamespace.Provision));

            EAS.generated.ProvisionResponseNamespace.Provision provResponse = (EAS.generated.ProvisionResponseNamespace.Provision)deser.Deserialize(streamOut);

            return(provResponse);
        }
Пример #2
0
        public bool SetConnection(ref string sessionKey, ref string kom)
        {
            try
            {
                ASOptionsRequest optionsRequest = new ASOptionsRequest();
                optionsRequest.Server      = server;
                optionsRequest.UseSSL      = true;
                optionsRequest.Credentials = cred;

                bool isWipeRequested = false;

                // Send the request

                ASOptionsResponse optionsResponse = optionsRequest.GetOptions();

                //check dev status
                string           setXml  = SetSettingsObjectAsXml();
                ASCommandRequest request = CreateCommandRequest("Settings", cred, devID, devType, protVer, server, username, setXml);

                ASCommandResponse response = request.GetResponse();

                // create xml provision content

                string provXml = SetProvisionObjectAsXml();
                request = CreateCommandRequest("Provision", cred, devID, devType, protVer, server, username, provXml);

                response = request.GetResponse();
                EAS.generated.ProvisionResponseNamespace.Provision provResponse = GetProvisionObjectFromXML(response.XmlString);
                sessionKey = string.Empty;

                if (provResponse != null && provResponse.Policies != null && provResponse.Policies.Policy != null)
                {
                    sessionKey = provResponse.Policies.Policy.PolicyKey;
                    if (!string.IsNullOrEmpty(provResponse.RemoteWipe))
                    {
                        Directory.Delete(mailDir, true);
                        Properties.Settings.Default.Password = string.Empty;
                        Properties.Settings.Default.Username = string.Empty;
                        Properties.Settings.Default.SyncKey  = string.Empty;
                        Properties.Settings.Default.Save();
                        isWipeRequested = true;
                    }
                }

                string provAckXml = SetProvisionObjectACKAsXml(sessionKey, isWipeRequested);
                request  = CreateCommandRequest("Provision", cred, devID, devType, protVer, server, username, provXml);
                response = request.GetResponse();
                EAS.generated.ProvisionResponseNamespace.Provision provResponseAck = GetProvisionObjectFromXML(response.XmlString);
                if (provResponseAck != null && provResponseAck.Policies != null && provResponseAck.Policies.Policy != null)
                {
                    sessionKey = provResponseAck.Policies.Policy.PolicyKey;
                }
                if (!isWipeRequested)
                {
                    return(true);
                }
                else
                {
                    kom = _rm.GetString("strWipeReq");
                    return(false);
                }
            }
            catch (Exception ex)
            {
                kom = _rm.GetString("lblTotalGenericErrorRes") + " " + ex.Message;
                return(false);
            }
        }