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); }
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); } }