Недавно я разработал простой сервер Webdav, используя в качестве основы Apache Tomcat WebdavServlet. Я только что получил исходный код из SVN (см. Ниже) и изменил его в соответствии со своими потребностями. Там вы можете добавить код для различных методов:
doGet
doLock
doPut
doUnlock
etc...
Я использую его как webdav для бедного человека перед корпоративной CMS, поэтому в каждом методе я добавлял вызовы API для получения документа, его блокировки, версии или чего-то еще. По сути, они не хотели покупать продукт webdav у поставщика, и Tomcat бесплатен.
Что касается открытия файлов Office на клиенте, вам может потребоваться использовать библиотеку, которая поставляется вместе с установками Office (по крайней мере, начиная с Office XP). Обратите внимание, что компонент называется SharePoint бла-бла, но он нигде не требует установки SharePoint. У меня есть фрагмент js, который использует библиотеку для примера, очевидно, вы бы изменили, чтобы удовлетворить ваши потребности. Я понимаю, что вы сказали, что нет ActiveX, но без него я не уверен на 100%, как вы открываете ссылки. Вы можете попробовать другие способы.
function webedit(id) {
if (window.ActiveXObject) {
var ed;
try {
//Office 2003
ed = new ActiveXObject('SharePoint.OpenDocuments.2');
} catch (err1) {
try {
//Office 2000/XP
ed = new ActiveXObject('SharePoint.OpenDocuments.1');
} catch (err2) {
try {
//Office 2007
ed = new ActiveXObject('SharePoint.OpenDocuments.3');
} catch (err3) {
window.alert('Unable to create an ActiveX object to open the document. This is most likely because of the security settings for your browser.');
return false;
}
}
}
if (ed) {
ed.EditDocument('<%=webdavPath%>/webdav/'+id);
return false;
} else {
window.alert('Cannot instantiate the required ActiveX control to open the document. This is most likely because you do not have Office installed or you have an older version of Office.');
return false;
}
} else {
window.alert('Internet Explorer is required to use this feature.');
}
return false;
}
Я также понимаю, что ваш сервер - IIS, а не на основе Apache, но вы всегда можете запустить установку Tomcat с IIS (это то, что мы делаем) и использовать фильтр JK ISAPI поверх AJP. Во всяком случае, это один из способов сделать что-то и не требует от вас ничего покупать.
Источник SVN: http://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk/java/org/apache/catalina/servlets/WebdavServlet.java