public Response Execute(ActiveSync.RequestBase request) { string url = string.Format(ACTIVESYNC_URL, _account.Account.ServerURL, Uri.EscapeDataString(_account.Account.DeviceId), request.Command, Uri.EscapeDataString(_account.Account.UserName), "WindowsOutlook"); // Construct the body WBXMLDocument doc = new WBXMLDocument(); doc.LoadXml(request.Body); doc.VersionNumber = 1.3; doc.TagCodeSpace = new ActiveSyncCodeSpace(); doc.Encoding = Encoding.UTF8; byte[] contentBody = doc.GetBytes(); using (HttpContent content = new ByteArrayContent(contentBody)) { Logger.Instance.Trace(this, "Sending request: {0} -> {1}", _account.Account.ServerURL, doc.ToXMLString()); content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.ms-sync.wbxml"); string caps = ZPushCapabilities.Client.ToString(); Logger.Instance.Trace(this, "Sending request: {0} -> {1}: {2}", _account.Account.ServerURL, caps, doc.ToXMLString()); content.Headers.Add(Constants.ZPUSH_HEADER_CLIENT_CAPABILITIES, caps); using (HttpResponseMessage response = _client.PostAsync(url, content, _cancel).Result) { return(new Response(response)); } } }