[Zope-dev] Dreamweaver, Webdav and PUT.

Terry Kerr terry@adroit.net
Thu, 20 Sep 2001 12:19:46 +1000


Hi,

I am having trouble PUT'ing new files into Zope using webdav from
dreamweaver.

  I have dreamweaver 4 with the 4.01 update, and are running zope2.4.1
with python 2.1.  I have create a html file 'untitiled.html' and are
trying to PUT that into the root folder of my Zope instance.  I have
setup webdav on port 8081, and authentication is setup correctly as I
can GET, LOCK, UNLOCK and PUT files that already exist in the Zope tree,
just not create a new file using PUT.

>From looking at the zope logs, Dreamweaver seems to issue the following
commands when creating the new file.

"PROPFIND /untitled.html HTTP/1.1" 404 2305 ""
"PROPFIND /untitled.html HTTP/1.1" 404 2305 ""
"LOCK /untitled.html HTTP/1.1" 200 765 ""
"PROPFIND /untitled.html HTTP/1.1" 404 2304 ""

The LockNullResource object is created in the Zope root, however then
dreamweaver spits out an error "The desired action could not be
completed because the resource was not found".

>From looking into the the
lib/python/webdav/NullResource.py::LockNullResource code, it seems that
calling PROPFIND on the LockNullResouce will always return not found!  

    def HEAD(self, REQUEST, RESPONSE):
        """Retrieve resource information without a response message
body."""
        self.dav__init(REQUEST, RESPONSE)
        raise 'Not Found', 'The requested resource does not exist.'
        
    # Most methods return 404 (Not Found) for null resources.
    DELETE=OPTIONS=TRACE=PROPFIND=PROPPATCH=COPY=MOVE=HEAD

It seems to me that you can never create a new file using webdav!

Has anyone else come across this?  Is there a work around?

terry


-- 
Terry Kerr (terry@adroit.net)
Chief Technical Officer
Adroit Internet Solutions (www.adroit.net)
Phone: +61 3 9563 4461
Fax: +61 3 9563 3856
ICQ: 79303381