Return-Path: Delivered-To: apmail-xml-cocoon-users-archive@xml.apache.org Received: (qmail 70378 invoked by uid 500); 28 Jan 2003 01:19:15 -0000 Mailing-List: contact cocoon-users-help@xml.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: cocoon-users@xml.apache.org Delivered-To: mailing list cocoon-users@xml.apache.org Received: (qmail 70361 invoked from network); 28 Jan 2003 01:19:15 -0000 Reply-To: From: "neil" To: "Cocoon-Users (E-mail)" Subject: Cocoon generated Excel data and IIS with WebDav Date: Tue, 28 Jan 2003 12:27:41 +1100 Message-ID: <000901c2c66c$741499f0$3300000a@AICANBERRA.com.au> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook CWS, Build 9.0.2416 (9.0.2910.0) X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 Importance: Normal X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N 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. To unsubscribe, e-mail: For additional commands, e-mail: