Hello there, I'm trying (fighting and learning, bah ;)) to add WebDAV
support to a ServerResource. To test, I'm using the Nautilus/GNOME
"Connect to Server" WebDAV client. I've seen that 1st an OPTIONS
(HTTP) request is issued, then a PROPFIND (DAV) request is issued.

My resource has options() overriden and it's being called properly;
however, there's no propfind() method in ServerResource, so reading
the docs a bit I've found that to implement handlers for 'new' methods
(or for not-yet-handled-by-any-out-of-the-box-handler method), simply
a handleMethodName() is needed, so I've added handlePropfind() to my
resource, like this:

public Representation handlePropfind() throws ResourceException {
   return new StringRepresentation("PROPFIND called!");
}

And I'm seeing this on the logs (together with the error message of
the DAV client stating "the method is not supported by the requested
resource URI", without saying *which* method is not supported, but I
know it's PROPFIND, from the logs):

Jan 16, 2010 11:08:31 AM org.restlet.engine.log.LogFilter afterHandle
INFO: 2010-01-16        11:08:31        0:0:0:0:0:0:0:1 -       -       9000    
OPTIONS /workspaces/W1/content  -       200     0       -       207     
http://localhost:9000   gvfs/1.4.3      -
Jan 16, 2010 11:08:31 AM org.restlet.engine.http.HttpServerAdapter commit
WARNING: A response with an unavailable entity was returned. Ignoring
the entity for resource "http://localhost:9000/workspaces/W1/content";.
Jan 16, 2010 11:08:31 AM org.restlet.engine.log.LogFilter afterHandle
INFO: 2010-01-16        11:08:31        0:0:0:0:0:0:0:1 -       -       9000    
PROPFIND        /workspaces/W1/content  -       405     402     124     14      
http://localhost:9000   gvfs/1.4.3      -
Jan 16, 2010 11:08:31 AM org.restlet.engine.log.LogFilter afterHandle

So, the OPTIONS request is succeeding, but the PROPFIND one is not,
even if there is a handlePropfind() in the resource.

Restlet 2.0M6 here, and my work on DAV support is being based on Rob
Heitman's Dav1VFSResource class, which seems to be the only
'documented' stuff about how DAV clients work.

Thanks in advance for your help

-- 
Fabián Mandelbaum
IS Engineer

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

Reply via email to