切换到宽版
  • 11824阅读
  • 2回复

[求助]怎么用exchange web service 删除某一次约会 [复制链接]

上一主题 下一主题
 
只看楼主 倒序阅读 0楼  发表于: 2011-03-23
在线等待,急。。。。
分享到
只看该作者 1楼  发表于: 2011-03-24
为什么删除约会失败,删除邮件成功,大家帮忙看下

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();
            }
        }
    }
}
只看该作者 2楼  发表于: 2012-08-07
后来解决了吗?
快速回复
限60 字节
 
上一个 下一个