I am developing a simple "Calendar" Java application that interact with Exchange.
I have a question that I can't resolve on my own.
How can I fetch and recognize deleted items in Outlook? What SOAP requests should I employ? Is it possible to make Exchange notify my application when an appointment created on my side is deleted?
Assuming these items are "soft" deleted, you can get the from the Deleted Items folder, as you would any other folder such as the Inbox or Calendar. Unfortunately, I don't rely on the bare SOAP calls in my app, but rather the Managed API, but you can use the FindItems equivalent to iterate over the items in the folder.
You can get a notification on delete of an item using Streaming Notifications (or the older Push Notifications). You subscribe to the notifications for a folder (e.g. calendar), select which type of events in your case (typically a Move-Out event since a soft delete moves the appointment out of the calendar). I believe the Managed API hides some of the nastier business of Streaming Notifications, i.e. underneath the covers there are GetEvents calls to EWS, so it might be a bit messy using SOAP (or whatever you have available in Java), but it can be done without too much work.