This work is based on the WebDAV-Servlet project on SourceForge.
The modifictions available here allow interoperability with Windows Vista clients and Office 2007.
I did a couple of modifications to the WebDAV servlet in order to get to work with Windows XP and Windows Vista clients (using Office 2003 and Office 2007). Those modifications are based on the latest version in the CVS (not the release).
Main changes are:
Version with fixes for Windows Vista (zip-file, 96 KB)
Additionally, I changed the interface of the WebdavStore so that you can actually use transactions. These changes slightly change the API...
Currently, transactions can't be used, because there is no way for a method in the WebdavStore to find out the transaction context in which it is called. There is no locking of the whole WebdavStore, but just of individual resources. Therefore an invokation sequence like the following is possible:
request1: begin(Principal) request2: begin(Principal) request1: checkAuthentication() // which principal??? request2: checkAuthentication()
To enable transactions support, the begin method can return a transaction-object which will be passed to all other methods. Implementations that do not need transactions can simply return null.
I added the class "DummyResourceLocks" which does nothing in case you don't need the servlet to lock resources, like when you are doing it yourself in the WebdavStore.
Version with changes in transaction handling and locking (zip-file, 99 KB)