BUG: HasAttachments property is false on meeting occurrence with attachment

I thought it was just the last month full of bugs and fixes. This month also started with a Exchange Web Services bug.. or better Exchange Bug as Exchange Web Service is just a victim :(

If you add an attachment to a single occurrence of a recurring CalendarItem, and then call GetItem with AllProperties set to retrieve that occurrence, the attachment is returned but HasAttachments property is set to false. Not only that you cannot see the attachment in the OWA, but Outlook has no problem in showing that attachment.

You can reproduce the error this way...

 

Repro Steps:

=-=-=-=-=-=-=

1. Create recurring meeting from OWA 2007 , I created “Daily Recurrence” for 3 days

2. I worked on the first instance and checked that its same with all instances

3. Add an attachment from EWS

4. GetItem the first occurrence , HasAttachment = false but it is visible in OWA, Attachment can still be downloaded, if I ignore the has attachment flag and proceed towards attachments array

5. Added another attachment from EWS

6. GetItem the first occurrence , HasAttachment = true, both attachments can be downloaded fine using GetAttachment

7. Deleted second attachment from EWS

8. GetItem the first occurrence , HasAttachment = true, first Attachment can still be downloaded fine using GetAttachment

9. Deleted first attachment from EWS, attachment table is empty now

10. GetItem the first occurrence , HasAttachment = false

11. Added a new attachment from EWS

12. GetItem the first occurrence , HasAttachment = false but this time it’s not visible in OWA , first Attachment can still be downloaded, if I ignore the has attachment flag and proceed towards attachments array

13. Added another attachment from EWS

14. GetItem the first occurrence , HasAttachment = true, both attachments are visible now in OWA as well

 

 Root cause is unknown at this time, but I have found a workaound. Product group is already working on a fix for this but it could take some time.

 I have found a pattern by that you can workaround this problem.

 

 Workaround:

 Add two attachments instead of one, and delete the later one which will turn the first one visible. Funny logic but works!

 

 Please ping me if you have the same problem.