public void CancelMeeting(string meetingId, string cancelMessage) { Microsoft.Exchange.WebServices.Data.Appointment meeting = Microsoft.Exchange.WebServices.Data.Appointment.Bind(m_Service, meetingId, new PropertySet(AppointmentSchema.MyResponseType)); if (meeting.MyResponseType == MeetingResponseType.Organizer) { meeting.CancelMeeting(cancelMessage); } else if (meeting.MyResponseType == MeetingResponseType.Accept || meeting.MyResponseType == MeetingResponseType.NoResponseReceived || meeting.MyResponseType == MeetingResponseType.Tentative) { var declineMessage = meeting.CreateDeclineMessage(); declineMessage.Body = new MessageBody(cancelMessage); declineMessage.SendAndSaveCopy(); } }