lizhongyuan6 |
2011-03-24 10:43 |
为什么删除约会失败,删除邮件成功,大家帮忙看下
using System; using System.Collections.Generic; using System.Linq; using System.Text; using testmeeting.ExchangeWebService; using System.Net.Security; using System.Xml.Serialization; using System.Net; using System.Security.Cryptography.X509Certificates; //using System.Net.Security; namespace testmeeting { public class Program { public static string id; public static string changeid; static void Main(string[] args) { string url = "https://localhost/EWS/Exchange.asmx"; DateTime start = Convert.ToDateTime("2011-03-20 4:00"); DateTime end = Convert.ToDateTime("2011-03-20 4:30"); string emailaddress = "epro3@ex2007.com"; ; SendAppointment(url, start, end, emailaddress); } public static void del(ExchangeServiceBinding esb,string id) { Util.SetCertificatePolicy(); DeleteItemType dit = new DeleteItemType(); dit.ItemIds = new BaseItemIdType[1]; ItemIdType iit = new ItemIdType(); iit.Id = id; //iit.ChangeKey = changeid; dit.ItemIds[0] = iit; DeleteItemResponseType de = esb.DeleteItem(dit); if (de.ResponseMessages.Items.Length > 0 && de.ResponseMessages.Items[0].ResponseClass == ResponseClassType.Success) { Console.Write("ɾ��ɹ�"); Console.Read(); } else { Console.Write("ɾ��ʧ��"); Console.Read(); } } public static void SendAppointment(string url, DateTime start, DateTime end, string emailaddress) { ExchangeServiceBinding esb = new ExchangeServiceBinding(); esb.Url = url; esb.Credentials = new NetworkCredential("Administrator", "epro-001", "ex2007.com"); CalendarItemType appointment = new CalendarItemType(); appointment.Body = new BodyType(); appointment.Body.BodyType1 = BodyTypeType.Text; appointment.Body.Value = "ͬ���û�æ��"; appointment.Importance = ImportanceChoicesType.High; appointment.ImportanceSpecified = true; appointment.ItemClass = "IPM.Appointment"; appointment.Subject = "ͬ���û�æ��"; appointment.Start = start; appointment.StartSpecified = true; appointment.End = end; appointment.EndSpecified = true; appointment.LegacyFreeBusyStatus = LegacyFreeBusyType.Busy; DistinguishedFolderIdType folder = new DistinguishedFolderIdType(); folder.Id = DistinguishedFolderIdNameType.calendar; folder.Mailbox = new EmailAddressType(); folder.Mailbox.EmailAddress = emailaddress; NonEmptyArrayOfAllItemsType arrayOfItems = new NonEmptyArrayOfAllItemsType(); arrayOfItems.Items = new ItemType[1]; arrayOfItems.Items[0] = appointment; CreateItemType createItemRequest = new CreateItemType(); createItemRequest.SendMeetingInvitations = CalendarItemCreateOrDeleteOperationType.SendToAllAndSaveCopy; createItemRequest.SendMeetingInvitationsSpecified = true; createItemRequest.SavedItemFolderId = new TargetFolderIdType(); createItemRequest.SavedItemFolderId.Item = folder; createItemRequest.Items = arrayOfItems; try { Util.SetCertificatePolicy(); CreateItemResponseType createItemResponse = esb.CreateItem(createItemRequest); ResponseMessageType[] rmta = createItemResponse.ResponseMessages.Items; foreach (ResponseMessageType rmt in rmta) { ArrayOfRealItemsType itemArray = ((ItemInfoResponseMessageType)rmt).Items; ItemType[] items = itemArray.Items; foreach (ItemType item in items) { Console.WriteLine("Item identifier: " + item.ItemId.Id); Console.WriteLine("Item change key: " + item.ItemId.ChangeKey); id = item.ItemId.Id; changeid = item.ItemId.ChangeKey; } } ItemInfoResponseMessageType responseMessage = createItemResponse.ResponseMessages.Items[0] as ItemInfoResponseMessageType; ItemIdType items2 = responseMessage.Items.Items[0].ItemId; del( esb, items2.Id); del(esb, id); } catch (Exception e) { Console.WriteLine("Error Message: " + e.Message); Console.ReadLine(); } } } } |
|