Recently, one my ISV partners told me that they wanted to create a bi-directional Exchange Server connector to keep calendars synchronized between their Exchange Mail Server and their application. To make this more challenging, they wanted to be able to deploy this in environments where RPC connectivity was turned off.
There were a couple of approaches we could take to solve the problem. The first was to enable RPC over HTTP in Windows 2003. The second was to use the WebDav interfaces into Exchange as OWA does. Once I verified that we didn’t require additional functionality than that provided by OWA, I decided to use the Dav interfaces.
I thought I’d also share the code (C#) and so feel free to download the documentation, code, and sample application from here. You can also view a short BlogCast here.
Here is a quick list of what is included:
¾ Remote Exchange Authentication over HTTP or HTTPS by way of either Basic Authentication or Forms-Based Authentication.
¾ Illustrates “Subscribe and Poll” for asynchronous notification of new or changed objects such as new or changed mail, appointments, tasks, etc.
¾ Illustrates “Subscribe and Notify” for synchronous notifications.
¾ How to Read and Send Exchange Mail using DAV.
¾ How to read, create, or modify appointments in Exchange using DAV.
In order to exercise these server-based classes, I have also included a sample client application that will send cell phone SMS messages alerting you of appointment reminders at the times specified in the Exchange based appointment.