[E2010] [EWSMA] [Java] [Windows]: Custom message class used for identifier - caveats? RRS feed

  • Question

  • I'm working on integrated an existing service with Exchange. This service is used for scheduling meetings, and updates in this service must be pushed to Exchange, and sometimes data from Exchange must be pushed back to the service. We've been working with methods of using a unique ID from the service in Exchange to quickly identify/retrieve meetings between the two.

    We added it as an extended property. However, this system will use a single "master" account to handle all scheduling, so the Calendar will have a LOT of records in it, enough that doing a search by an extended property simply isn't feasible. We were going to break up the Calendar into multiple folders to manage the issue, but I may have found something even better: Custom message classes for each Appointment in the form of "IPM.Appointment.IDGoesHere". Since this is an indexed property, it should allow for fast retrieval.

    I've loaded up a folder with about 17k Appointments and run some tests. Using a query string with "Kind:IPM.Appointment.X" is surprisingly fast, definitely faster than numerous other methods I've tried, even with other indexed properties, such as the subject (On a side note, subject searches are actually faster with a search filter than with a query string, which is just the opposite when searching for the message class). This should allow for fast retrieval even if everything was stored in a single Calendar folder.

    However, I also realize that this is not the intended user of message classes in Exchange, and it would mean a LOT of custom message classes. I'm not sure if this could cause problems in Exchange or if it would be irrelevant and be indexed the same as any other wildly variable property. I would also presume that extending an existing message class would not affect functionality, ie, Outlook/Exchange will fall back to IPM.Appointment handling if it doesn't know how to handle IPM.Appointment.X, and if a meeting invitation goes out to users in Outlook, that the Appointment created in their Calendar would have no anomalous properties.

    Is this viable or am I doing something that's more than just a bit too hacky here?

    Thursday, August 22, 2013 7:30 PM