Hello,

first things first: Congratulations for the release of Restlet 2.0.0!


I've switched from 2.0RC4 to 2.0.0 and all PROPFIND requests (the
handler is implemented with a custom @Propfind annotation, modeled
after the standard Restlet annotations, I've also made such
annotations for LOCK and UNLOCK, the other WebDAV verbs I needed, and
they are working fine, only PROPFIND is failing) are being answered
with 405 (No Such Method), so WebDAV support in my app is broken with
2.0.0 (worked fine with 2.0RC4).

My server resource class has this on its init() method:

getAllowedMethods().add(Method.PROPFIND);
getAllowedMethods().add(Method.LOCK);
getAllowedMethods().add(Method.UNLOCK);

And indeed an OPTIONS request to the resource returns all supported
methods fine:

fab...@monster:~$ curl -i [email protected]:admin -XOPTIONS
http://localhost:9000/workspaces/WKSP/content
HTTP/1.1 200 OK
Connection: close
Date: Tue, 20 Jul 2010 16:49:24 GMT
Accept-Ranges: bytes
Allow: LOCK, GET, PUT, DELETE, UNLOCK, OPTIONS, POST, PROPFIND
Server: Restlet-Framework/2.0.0
Vary: Accept-Charset, Accept-Encoding, Accept-Language, Accept
DAV: 1
MS-Author-Via: DAV
Content-Length: 1
Content-Type: text/plain; charset=UTF-8

fab...@monster:~$

I've added a log trace to the PROPFIND handler, like this:

    @Propfind
    public Representation propfind() throws ResourceException {
        getLogger().info("Handling PROPFIND Request...");

But I'm not seeing the call in the logs, when I try to connect with
cadaver (a CLI WebDAV client):

Jul 20, 2010 1:51:48 PM com.calenco.resource.workspace.ContentResource options
INFO: OPTIONS request processed in 0.003 sec.
Jul 20, 2010 1:51:48 PM org.restlet.engine.log.LogFilter afterHandle
INFO: 2010-07-20        13:51:48        0:0:0:0:0:0:0:1 [email protected]       
-       9000    OPTIONS /workspaces/WKSP/content/       -       200     1       
010     http://localhost:9000   cadaver/0.23.3
neon/0.29.0     -
Jul 20, 2010 1:51:48 PM org.restlet.engine.log.LogFilter afterHandle
INFO: 2010-07-20        13:51:48        0:0:0:0:0:0:0:1 [email protected]       
-       9000    PROPFIND        /workspaces/WKSP/content/       -       405323  
288     5       http://localhost:9000   cadaver/0.23.3
neon/0.29.0     -

The funny thing is that it seems the ContentResource (my class) is not
handling the PROPFIND and that's why it may be failing (also notice
the 405323, which should be 405  323, where 405 is the HTTP resposne
code).

Any ideas? Thanks in advance.

-- 
Fabián Mandelbaum
IS Engineer

------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2635851

Reply via email to