Unfortunately, there is no facility to cancel a meeting via WebDAV.  You may be able to delete an appointment directly from a calendar if there are no attendees. A meeting is pretty much an appointment with attendees.   If you have an appointment with attendees (i.e. it’s a meeting), you cannot just delete it and expect the attendees to get notified – no cancellation emails will be sent.   

 

Now, please read this:

 

Available support for applications that use the WebDAV protocol to access Exchange 2000 Server or Exchange Server 2003

http://support.microsoft.com/kb/920134

 

So, with WebDAV, any sort of meeting functionality is not supported and that of course means meeting cancelations…

 

APIs which handle meeting functionality will cover areas such as:

      Single instance Meeting creation

      Single instance Meeting updates

      Single instance Meeting Cancelations

      Recurring instance Meeting creation

      Recurring instance Meeting updates

      Recurring instance Meeting cancelations

      Handling time zone issues

      The list goes on and on…

 

A typical meeting cancelation will need to handle things such as:

      Locate the meeting

      Send cancelation messages for each attendee as needed.

      Remove the recurring instance or meeting series.

 

These operations are not wrapped with WebDAV.  While you may be able to get some of the functionality with WebDAV code and some careful coding, such code may not work in all case.

 

For WebDAV to handle recurring meetings properly, it would need to handle timezone issues (which it does not, recurring meeting manipulation (which it does not), creation of carefully VCALENDAR messages which are specific to the meeting, and its state.  Working with VCALANDAR messages without an Microsoft API which wraps this functionality is not supported.

 

Here are some possible work-arounds:

 

a.   Use CDOEX: You will need to use CDOEX on the Exchange server.  Some customers will write a web service which runs on their Exchange Server and  uses CDOEX to do the cancelation.

 

      The Calendar Object Model

      http://msdn.microsoft.com/en-us/library/aa563309(EXCHG.80).aspx

 

      Canceling Appointments and Meetings

      http://msdn.microsoft.com/en-us/library/ms870347(EXCHG.65).aspx  

 

      Sending Meeting Updates

      http://msdn.microsoft.com/en-us/library/aa563404(EXCHG.80).aspx

 

b.   Reverse Engineer: You can try to reverse engineer the cancellation emails by capturing network traffic when cancellation email is sent via OWA and construct emails for cancellation of the appointment item.  Next send these cancellation emails and delete the original appt from the person who made it.  There is no public documentation available for the format of Exchange iCalendar cancellation emails.

 

Calendars on the Internet

http://msdn.microsoft.com/en-us/library/aa494215(EXCHG.80).aspx

 

Internet Calendaring and Scheduling Core Object Specification (iCalendar)

http://www.ietf.org/rfc/rfc2445.txt  

 

RFC 2445 - Internet Calendaring and Scheduling Core Object Specification (iCalendar)

http://www.faqs.org/rfcs/rfc2445.html

 

C.   Use Exchange Web Services (EWS):  If you have Exchange 2007, you can use EWS to do the cancelation. 

 

MeetingCancellation

http://msdn.microsoft.com/en-us/library/aa564685(EXCHG.80).aspx

 

 

      D.   Use CDO 1.21:

      CDO 1.21 (Collaboration Objects) can be used for doing cancelations.  However, you should be aware that CDO 1.21 needs to run on an in-network box with CDO 1.21 loaded on that box and that its not supported under any managed code.

 

http://blogs.msdn.com/webdav_101/archive/2008/05/05/howto-vb-cdo-1-21-cancel-a-recurring-meeting-using-a-single-recurrance.aspx

 

            Respond Method (MeetingItem Object)

            http://msdn.microsoft.com/en-us/library/ms527208.aspx

 

Problems with CDO 1.21 sending meeting cancellations

http://blogs.msdn.com/jeffga/archive/2007/08/02/problems-with-cdo-1-2x-sending-meeting-cancellations.aspx