cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "neil" <nba...@aisoftware.com.au>
Subject Cocoon generated Excel data and IIS with WebDav
Date Tue, 28 Jan 2003 01:27:41 GMT
People generating dynamic Excel data and using MS IIS may hit this problem. I've posted it
because it affects cocoon users, even
though its not really anything to do with cocoon.

Environment
-----------
MS IIS v5 web server with dynamic content redirected to tomcat/cocoon.


Problem
-------
Some client PC's see cocoon generated excel data correctly (data shown in an Excel spreadsheet
inside the IE window), but other PC's
get the applications "session timed out" HTML page displayed inside Excel!
I'm not sure if its related to the version of IE, but I sometimes had the problem with IE5
and sometimes didn't have
it with IE6.
The problem goes away if the client bypasses IIS by using tomcat's port 8080.


Solution
--------
Disable webdav in IIS v5 by adding an entry to the registry. Put the following in a *.reg
file then double click it.

REGEDIT4
; Disable WebDAV for IIS 5.0 - see http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q241520&
; otherwise some IE browser's perform a WebDAV LOCK on the URL after downloading an Excel
spreadsheet.
; Cocoon seems to treat the LOCK as a GET, but since the request has no sessionID it redirects
to the
; SessionTimedOut page.
; If you need WebDAV then removing NTFS write access from all files and dirs in the application
should
; also work.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters]
"DisableWebDAV"=dword:00000001


Cause
-----
WebDAV allows you to use your web browser to open/lock/write files served by a web server.
In IIS5 WebDAV is always enabled for any files/dirs that have NTFS write permission unless
you disable it using regedit.

IIS & cocoon logs show that when some versions of IE download a cocoon generated excel
spreadsheet they do this:

METHOD: POST on URL /cocoon/pinnacle/asReportByType.xsp
this generates the excel data

METHOD: OPTIONS (an HTTP 1.1 method) on URL /cocoon/pinnacle
since I've configured only *.xsp to be redirected IIS responds.
IIS must say something about whether the URL is WebDAV editable.

METHOD: LOCK (a WebDAV extension to HTTP 1.1) on URL /cocoon/pinnacle/asReportByType.xsp
This request is generated by the browser, but it has no session and has a header:
  user-agent=Microsoft Data Access Internet Publishing Provider DAV 1.1

Cocoon logs the method as LOCK but treats it the same as a GET (and my application doesn't
check the method).
Since there's no session my application redirects to the session timed out page.
This page gets displayed inside Excel instead of the Excel report.


---------------------------------------------------------------------
Please check that your question  has not already been answered in the
FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>

To unsubscribe, e-mail:     <cocoon-users-unsubscribe@xml.apache.org>
For additional commands, e-mail:   <cocoon-users-help@xml.apache.org>


Mime
View raw message