I tried to use <exclude> to sync the EXDATEs in iCal but it didn't work. From the soap-calendar document, I don't see anything wrong in my request.

I can use CancelAppointmentReq for new EXDATE, but the existing EXDATE in appointment will return a SOAP fault.

<ModifyAppointmentRequest id="961-984" xmlns="urn:zimbraMail">
<m>
<inv ....>
<s tz="(GMT-08.00) Pacific Time (US &amp; Canada) / Tijuana" d="20061127T110000" />

<e tz="(GMT-08.00) Pacific Time (US &amp; Canada) / Tijuana" d="20061127T140000" />

<or a="jacky@zimbra.com" d="jacky" />
<recur>
<add>
<rule freq="DAI" />
</add>
<exclude>
<date d="20061207T110000" />
</exclude>
</recur>
</inv>
</m>
</ModifyAppointmentRequest>