Page 1 of 1

WebDAV not locking

Posted: Thu Sep 20, 2012 10:39 pm
by eschieler
What would be reasons why Oxygen 14 is not locking files accessed via a Data Connection to a webdav folder?

Options > Preferences > Proxy Configuration > Lock WebDAV files on open IS selected. All users are connecting with unique accounts.

Eric

Re: WebDAV not locking

Posted: Fri Sep 21, 2012 3:28 pm
by Costin
Hello,

Could you please provide more details about what type of WebDAV server are you using to access the files and what type of files are you trying to access?
Also, are you sure that the server supports locking ?

In order to offer you a possibility to enable logging please contact us on our support email address: support AT oxygenxml DOT com.

Regards,
Costin

Re: WebDAV not locking

Posted: Fri Sep 21, 2012 7:36 pm
by eschieler
We are accessing XML files on a Jetty server (http://jetty.codehaus.org/jetty/) started by BaseX.

I'll follow up with logging option.

Re: WebDAV not locking

Posted: Fri Oct 05, 2012 4:53 pm
by Radu
Hi Eric,

Thank you for providing the detailed log messages.
We analyzed them and here is the conclusion:

As you probably know the WebDav communication involves sending XML messages between client and server using an usual HTTP connection.
Basically when you ask Oxygen to open a certain HTTP resource, it will first look to see if that resource supports locking.
This means that the Oxygen HTTP client issues a PROPFIND request with an XML like:

Code: Select all

<D:propfind xmlns:D="DAV:">
<D:prop>
<D:getlastmodified/>
<D:getcontentlength/>
<D:resourcetype/>
<D:supportedlock/>
<D:lockdiscovery/>
</D:prop>
</D:propfind>
As a response for the <D:supportedlock/> property, the Jetty server responds something like:

Code: Select all

<d:supportedlock/>
By contrast, an Apache HTTP Webdav-enabled server responds something like:

Code: Select all

<D:supportedlock>
<D:lockentry>
<D:lockscope>
<D:exclusive/>
</D:lockscope>
<D:locktype>
<D:write/>
</D:locktype>
</D:lockentry>
<D:lockentry>
<D:lockscope>
<D:shared/>
</D:lockscope>
<D:locktype>
<D:write/>
</D:locktype>
</D:lockentry>
</D:supportedlock>
From the response of the Jetty server, Oxygen assumes that locking is not supported and thus does not try to lock the file on open.

The WebDav Specification:

http://www.webdav.org/specs/rfc4918.htm ... portedlock

Regards,
Radu