Hum... one more thing I've found out while testing, I've removed OPTIONS support from the RootFolderResource (serving the / URI) and now the error is different:
[fab...@laptop ~]$ cadaver http://localhost:9000/workpsaces/W1/content Could not open collection: 405 The method specified in the request is not allowed for the resource identified by the request URI dav:/workpsaces/W1/content/? quit [fab...@laptop ~]$ So, I'm wondering... maybe the problem is that all 'intermediate' resources should implement at least the OPTIONS method too in order for the 'deeper' resource to work? Thanks again... 2010/1/16 Fabián Mandelbaum <fmandelb...@gmail.com>: > Thanks Rob (and sorry for miswritting your lastname ;)). > > For all it's worth I've just tried with cadaver (DAV command line > client), and got the same results, CLI 'session' and excerpt from the > logs follow: > > [fab...@laptop ~]$ cadaver http://localhost:9000/workpsaces/W1/content > Could not access /workpsaces/W1/content/ (not WebDAV-enabled?): > 405 The method specified in the request is not allowed for the > resource identified by the request URI > Connection to `localhost' closed. > dav:!> quit > [fab...@laptop ~]$ > > Jan 16, 2010 12:06:26 PM com.calenco.resource.RootFolderResource options > INFO: OPTIONS request processed in 0.000 sec. > Jan 16, 2010 12:06:26 PM org.restlet.engine.log.LogFilter afterHandle > INFO: 2010-01-16 12:06:26 0:0:0:0:0:0:0:1 - - 9000 > OPTIONS /workpsaces/W1/content/ - 200 0 - 8 > http://localhost:9000 cadaver/0.23.2 > neon/0.29.0 - > Jan 16, 2010 12:06:26 PM org.restlet.engine.http.HttpServerAdapter commit > WARNING: A response with an unavailable entity was returned. Ignoring > the entity for resource > "http://localhost:9000/workpsaces/W1/content/". > Jan 16, 2010 12:06:26 PM org.restlet.engine.log.LogFilter afterHandle > INFO: 2010-01-16 12:06:26 0:0:0:0:0:0:0:1 - - 9000 > PROPFIND /workpsaces/W1/content/ - 405 402 288 7 > http://localhost:9000 cadaver/0.23.2 > neon/0.29.0 - > > Thanks in advance > > On Sat, Jan 16, 2010 at 11:00 AM, Rob Heittman > <rob.heitt...@solertium.com> wrote: >> I ran into similar trouble porting it myself, but that was many >> milestones ago ... Will retry with M6 and see if I get the same >> results as you! >> >> On Jan 16, 2010, at 8:17 AM, Fabian Mandelbaum <fmandelb...@gmail.com> >> wrote: >> >>> 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 >> >> ------------------------------------------------------ >> http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2437629 >> > > > > -- > Fabián Mandelbaum > IS Engineer > -- Fabián Mandelbaum IS Engineer ------------------------------------------------------ http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2437639