As far as I was able to figure out, EWS is a little mistaken when it comes to filling out all the EmailAddress information, both in the "Appointments for the Organizer" and for other things such as "EmailMessage.From". When you execute a query for multiple items, you do not receive the fully populated EmailAddress properties. For example. using the API:
Folder.FindItems ExchangeService.FindAppointments
I found that only the display name in the EmailAddress fields is populated.
To completely fill out EmailAddress, I need to load / bind to a specific element and specify the corresponding EmailAddress property, for example. Purpose of Schema.Organizer in your case. Therefore, although you specify the exact same property to load, you are loaded by calling a single element, not a bulk request. For example. through:
ServiceObject.Load
which is available for both Destination and EmailMessage, as they both exit ServiceObject. Using Item.Bind with an appropriate defined set of properties should also work.
As an aside, I realized this by looking at the code for EwsEditor, which is mentioned here:
http://blogs.msdn.com/webdav_101/archive/2009/11/10/ews-has-more-happy-now-ews-managed-api-and-ewseditor.aspx
The usability of EwsEditor is pretty sucking, and the code requires some trawling to understand, but at least it shows examples of many API implementations.
donovan
source share