EWS Java 1.2 - Calendars, notifications, and granularity RRS feed

  • Question

  • I'm looking to integrate Exchange with an existing application. This application was largely used to schedule meetings. I've been working with the EWS Java API 1.2 and it's pretty slick, but I'm hitting a few problems.

    Things are working well enough when we first set an appointment in the existing application. It does what it needs to do on its side, then creates an Appointment with the same info and saves it to a "master" account in Exchange. Attendees receive the usual meeting requests. This much works just fine.

    However, the problem comes when we need to push information back from Exchange into the application. For instance, we want to know what the responses are to the meeting invite and save those to the application's system. I've tried both polling and streaming notifications, but both seem to have largely the same issues:

    First off, the EventTypes simply aren't granular enough. When watching for EventType.Modified, I don't want a notification going back to the application when the Appointment is created, only when an existing one is modified, but I keep getting both, which means more data going over the wire and more filtering that needs to be done on our side, which is a pain. Is there any way to make this more specific? I've considered watching the inbox for responses, but tying a meeting response email back to the original meeting is proving nigh impossible. In addition, there is no change to the calendar if a person accepts the invitation but does not send a response. Is there any way to get that information via notifications?

    In addition, there's something odd with streaming notifications. Each notification gets sent twice. If someone accepts a meeting invitation, I get two Notification Events, each with a FolderEvent and an ItemEvent. As far as I can tell, they are completely identical. Polling doesn't have this problem. What's going on with streaming notifications that would cause this behavior?

    Tuesday, July 16, 2013 10:50 PM