One of my customer updated me that he created an appointment by using WebDAV. But the user has the following issues when he tries to view the mailbox owner's calendar:
- The appointment does not appear when Microsoft Outlook is in the Day, Week, or Month view.
- The appointment appears correctly when the appointments are sorted by category.
- The appointment appears correctly when the delegate user views the appointment by using Microsoft Outlook Web Access (OWA).
Why it’s happening?
Later when we started probing we found that the specific appointment doesn’t have dispidrecurring property or it is missing. This issue occurs if you do not explicitly set the dispidRecurring MAPI property in your program. When a schema name in your program is not specified, Outlook makes assumptions about the schema properties. Therefore, appointments that you create programmatically may not appear consistently when they are viewed in Outlook
To resolve this issue, specify the dispidRecurring property in your program as specified in the article, like, we need to include the data type namespaces, "xmlns:dt=""urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/""" in our WebDAV code.
But make sure, that we don’t fell prey to complex calendaring by setting dispidRecurring property as TRUE along with WebDAV, like by doing, "<mapi:0x00008223 dt:dt=""boolean"">1</mapi:0x00008223>". This excerpt sets the MAPI property to 1 (TRUE) to create a recurring appointment. To create a non-recurring appointment, set this property to 0 (FALSE). As the complex calendaring is not supported with WebDAV, you can refer the following article or the support KB, why complex calendaring is not supported and what is supported with WebDAV.