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

Reply via email to