Hi Andreas,
I think I fixed two important issues in our WebDAV server implementation. I tested locking simultaneously with cadaver and oXygen, and I hope you are more successful now.
Looking forward to your feedback, Christian
some more WebDAV issues (tested against the 8.1 snapshot from yesterday).
500 error on the cadaver side and BaseX fails with this exception:
- connecting with cadaver and locking a file twice causes a HTTP
[qtp2029686239-17] INFO com.bradmcevoy.http.HttpManager - PROPFIND :: http://dev1.veit-schiele.de:8984/webdav/scripts/backup.xql - http://dev1.veit-schiele.de:8984/webdav/scripts/backup.xql [qtp2029686239-16] INFO com.bradmcevoy.http.HttpManager - LOCK :: http://dev1.veit-schiele.de:8984/webdav/scripts/backup.xql - http://dev1.veit-schiele.de:8984/webdav/scripts/backup.xql [qtp2029686239-16] ERROR com.bradmcevoy.http.StandardFilter - process java.lang.NullPointerException at com.bradmcevoy.http.webdav.LockHandler.respondWithToken(LockHandler.java:274) at com.bradmcevoy.http.webdav.LockHandler.processRefresh(LockHandler.java:256) at com.bradmcevoy.http.webdav.LockHandler.processExistingResource(LockHandler.java:112) at com.bradmcevoy.http.webdav.LockHandler.process(LockHandler.java:86) at com.bradmcevoy.http.StandardFilter.process(StandardFilter.java:52) at com.bradmcevoy.http.FilterChain.process(FilterChain.java:40) at com.bradmcevoy.http.HttpManager.process(HttpManager.java:228) at org.basex.http.webdav.WebDAVServlet.run(WebDAVServlet.java:43) at org.basex.http.BaseXServlet.service(BaseXServlet.java:64) at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) at org.eclipse.jetty.server.Server.handle(Server.java:370) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494) at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240) at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) at java.lang.Thread.run(Unknown Source)
. 2nd problem: locking the same file twice works when I disconnect and reconnect with cadaver:
..... dav:/webdav/scripts/> lock backup.xql Locking `backup.xql': succeeded. dav:/webdav/scripts/> Connection to `dev1.veit-schiele.de' closed.
Suxmac:~ ajung$ cadaver http://dev1.veit-schiele.de:8984/webdav Authentication required for BaseX on server `dev1.veit-schiele.de': Username: admin Password: dav:/webdav/> cd scripts dav:/webdav/scripts/> lock backup.xql Locking `backup.xql': succeeded.
It is nice that the 2nd lock call works however this indicates that locking does not work at all since a lock should persist across connections.
Andreas -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iQGUBAEBAgAGBQJU6FRtAAoJEADcfz7u4AZjmOILv0B5T2l3tMIhLzCOljWLMw7R aC8H0dqOo/KtBV750eNAGpzmxGpFSd59SB35C2lrBOleCOIjI9fm/JzhCa0Mw2/J m1lLRAn9uK9i0uq7B7TKVlXf4N6vatZ8eecVs9KPBs0PB7D/G/GBl6ws9MfVY8QX g3OEa3A+Wi/FlMy0VDuVysYtvfs9CqGWe1etemYSA1u9z1dMN54ZkQKWKuoEi7mZ 9WPUNSF6A9kw5u6ACaTt2Qx7chzPreRckw9JmipVmv4xdZL1xWkW8yZGADL5jf94 egb0qzWrYSjSkrV/4lNkCgDoW0/+IebXq1lDC2/nQtwgyumi0jyNzWy9jKtziM6G WqUt1XM+A1buttMQ5+Z3WGZ1QdCd2yhoOT75bQTkhjuDBZTCiQwHabYgIPgfWHZX BNYE90SrBdRYIR/9n0q2+aG0oPEKlMWeDCVMAS35Q9naczYdl6jtVAJuiJ7KsvU4 QAQ3as+p2rAuUF2S1RXdIZ6m3VGL0Uw= =xLzv -----END PGP SIGNATURE-----