Subject: Strange Problems (Davenport)

From: "Mike McDonald" <[email-masked]>
Date: Fri, 6 Feb 2004 16:16:59 -0400

My apologies, as I am not entirely sure this question belongs here.

I am quite new to WebDAV, and have run into a few problems.  I've been
staring at this particular problem for quite some time, and am hoping I can
get a fresh set of eyes to have a look.  Basically, when I attempt to open a
web folder (using Davenport as the DAV server), I get the message 'Internet
Explorer could not open .Would you like to use the default view instead?'.

I have tried a slew of changes to the Davenport source code with varying
degrees of success.  In this example, the 'shares' share will not display
properly in a Web Folder view.  If I attempt to view a subdirectory as a Web
Folder however, the subdirectory will display properly in Web Folders view.

I am using Windows XP with IE6 (both fully patched) for the DAV client.  See
the listing below for the request/response.

PROPFIND /davenport/server/shares HTTP/1.1

Content-Language: en-us

Accept-Language: en-us

Content-Type: text/xml

Translate: f

Depth: 0

Content-Length: 0

User-Agent: Microsoft Data Access Internet Publishing Provider DAV

Host: host

Connection: Keep-Alive

HTTP/1.1 207 Multi Status

Date: Fri, 06 Feb 2004 15:57:25 GMT

Server: Jetty/4.2.14 (Windows 2000/5.0 x86 java/1.4.2_03)

Content-Length: 826

Content-Type: text/xml; charset="utf-8"

<?xml version="1.0" encoding="UTF-8"?>

    <multistatus xmlns="DAV:"
xmlns:w="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/">

        <response>

            <href>http://host/davenport/server/shares</href>

            <propstat>

                <status>HTTP/1.1 200 MultiStatus</status>

                <prop>

                    <getcontenttype>httpd/unix-directory</getcontenttype>

                    <ishidden w:dt="boolean">0</ishidden>

                    <iscollection w:dt="boolean">1</iscollection>

                    <resourcetype><collection/></resourcetype>

                    <getlastmodified w:dt="dateTime.rfc1123">Thu, 01 Jan
1970 00:00:00 GMT</getlastmodified>

                    <displayname>shares/</displayname>

                    <creationdate
w:dt="dateTime.tz">1970-01-01T00:00:00.000Z</creationdate>

                    <isreadonly w:dt="boolean">1</isreadonly>

                    <getcontentlength
w:dt="int">98626961408</getcontentlength>

                    <getetag>"195a6053b85db823650312a6f1705da6"</getetag>

                </prop>

            </propstat>

        </response>

    </multistatus>

Thanks,

Mike

---

From: Julian Reschke <[email-masked]>
Date: Fri, 06 Feb 2004 21:30:01 +0100

Mike McDonald wrote:

> I am quite new to WebDAV, and have run into a few problems.  I’ve been 
> staring at this particular problem for quite some time, and am hoping I 
> can get a fresh set of eyes to have a look.  Basically, when I attempt 
> to open a web folder (using Davenport as the DAV server), I get the 
> message ‘Internet Explorer could not open …Would you like to use the 
> default view instead?’.
> 
>  
> 
> degrees of success.  In this example, the ‘shares’ share will not 
> display properly in a Web Folder view.  If I attempt to view a 
> subdirectory as a Web Folder however, the subdirectory will display 
> properly in Web Folders view.
> 
>  
> 
> I am using Windows XP with IE6 (both fully patched) for the DAV client.  
> See the listing below for the request/response.
 > ...

1) You may want to check which version you have, see details at 
<http://greenbytes.de/tech/webdav/webfolder-client-list.html>

2) Regarding the response... I'd start by removinf everything that's not 
required or not plain DAV, notably

>                     <getetag>"195a6053b85db823650312a6f1705da6"</getetag>

In particular, having non-zero content lengths may be confusing for the 
webfolder client.

Regards, Julian

-- 
<green/>bytes GmbH -- http://www.greenbytes.de -- tel:+492512807760

---

From: "Lisa Dusseault" <[email-masked]>
Date: Fri, 6 Feb 2004 14:25:22 -0800

Well one nit is that Multistatus is usually 207, not 200, as in the body.
 
Normally collections don't have getcontenttype, getcontentlength, or
getetag.  I don't know if that's what's throwing off Web Folders.
 
There are examples of PROPFIND responses that work with Internet Explorer in
my book :)
http://www.amazon.com/exec/obidos/tg/detail/-/0130652083/qid=1076106098/sr=1
-1/ref=sr_1_1/103-3410589-6207009?v=glance
<http://www.amazon.com/exec/obidos/tg/detail/-/0130652083/qid=1076106098/sr=
1-1/ref=sr_1_1/103-3410589-6207009?v=glance&s=books> &s=books
 
You can also try comparing to the PROPFIND responses you get querying
directories on www.sharemation.com (where you can sign up for a free
account).  Sharemation runs Xythos software.  Similarly there are other
servers running other DAV implementations that are known to work well with
Web Folders - e.g. anything running mod_dav.  You might be able to PROPFIND
www.webdav.org.
 
Lisa D.

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On
Behalf Of Mike McDonald
Sent: Friday, February 06, 2004 12:17 PM
To: [email-masked]
Subject: Strange Problems (Davenport)

 

Content-Language: en-us

Accept-Language: en-us

Content-Type: text/xml

Translate: f

Depth: 0

Content-Length: 0

Host: host

Connection: Keep-Alive

Content-Length: 826

        <response>

            <propstat>

                <prop>

                    <creationdate

                    <getcontentlength

                </prop>

            </propstat>

        </response>

    </multistatus>

Thanks,

Mike

---

From: Julian Reschke <[email-masked]>
Date: Sat, 07 Feb 2004 09:33:38 +0100

> Well one nit is that Multistatus is usually 207, not 200, as in the body.

The status *inside* the body correctly is a 200, it's just mislabeled as 
"multistatus" (that should be irrelevant, only the numeric code matters).

Julian

---

From: "Mike McDonald" <[email-masked]>
Date: Tue, 10 Feb 2004 12:03:05 -0400

Just an FYI for anyone interested...

I worked through this problem with the help of the jCIFS list.  We
identified a couple potential problem areas, so I updated Davenport with
some suggestions there:

I made the following updates to Davenport as per Julian's suggestions (on
the jCIFS list):

- Removed Microsoft proprietary properties.

- Does not return unknown timestamps (0 value)

- Does not return unknown eTags.

- Does not return a content length (where the resource is a Share)

These changes allow the web folder to open properly in my XP client.  It was
in fact the getcontentlength property that 'broke' the client.

Thanks for your help.

Mike

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On
Behalf Of Mike McDonald
Sent: Friday, February 06, 2004 4:17 PM
To: [email-masked]
Subject: Strange Problems (Davenport)

 

Content-Language: en-us

Accept-Language: en-us

Content-Type: text/xml

Translate: f

Depth: 0

Content-Length: 0

Host: host

Connection: Keep-Alive

Content-Length: 826

        <response>

            <propstat>

                <prop>

                    <creationdate

                    <getcontentlength

                </prop>

            </propstat>

        </response>

    </multistatus>

Thanks,

Mike

---

From: Julian Reschke <[email-masked]>
Date: Tue, 10 Feb 2004 17:24:31 +0100

Mike McDonald wrote:

> I made the following updates to Davenport as per Julian's suggestions 
> (on the jCIFS list):
> 
> These changes allow the web folder to open properly in my XP client.  It 
> was in fact the getcontentlength property that 'broke' the client.

Great.

> Thanks for your help.

And thanks for the nice servlet!