Re: OWA 2003 / IIS 6.0 - Error 404 opening attachments

From: David Wang [Msft] (someone_at_online.microsoft.com)
Date: 09/26/04


Date: Sun, 26 Sep 2004 04:14:30 -0700

I can think of a million ways for "Verify that file exists" to fail and only
one way for it to succeed (this is the common case).

Usually, programs use a 1-to-1 mapping of the URL namespace to the physical
namespace. That is, if you have the URL "/exchange" mapped to "D:\foo\bar"
, the URL "/exchange/baz/foo.eml" should map to "D:\foo\bar\baz\foo.eml".
This is the sort of thing that "Verify that file exists" would check.

However, if there is an ISAPI or filesystem driver that does not obey such a
1-to-1 mapping of the namespaces (there are infinitely many possible
mappings between the virtual and physical namespaces), IIS's "Verify that
file exists" check will fail, leading to false 404s.

I believe the latter is what is going on. Your observation of "The
attachment file clearly exists and the user has permissions..." actually has
no meaning since davex.dll is integrated to the interpretation of an entity
in the URL namespace into the Exchange store namespace -- and since
davex.dll doesn't have "Verify that file exists" when it is doing the
interpretation, neither should your wildcard ISAPI, which is injected right
before it in the interpretation process.

-- 
//David
IIS
This posting is provided "AS IS" with no warranties, and confers no rights.
//
"Mike" <m1c0s@hotmail.com> wrote in message
news:%23BbGhGIoEHA.644@tk2msftngp13.phx.gbl...
David,
You were absolutely bang on!
The "Verify that file exists" option was enabled by default, and not
realising what it did, I left it alone.
Unchecking the box fixes the problem, although I haven't properly absorbed
how this feature works.
The help talks about checking the permissions and existence on the requested
file, so I don't see why it fails.
The attachment file clearly exists and the user has permissions, but the log
file win2k status indicated "path not found", so is there something strange
going on with attachment paths in the Exchange store?
If you have an explanation, I would love to hear it.
Meanwhile the problem is fixed, so many thanks for your help!
Regards,
MikeC
"David Wang [Msft]" <someone@online.microsoft.com> wrote in message
news:uArzHYBoEHA.3252@TK2MSFTNGP11.phx.gbl...
> In the entry for the wildcard application mapping that you added, do you
> have the "Check if File Exists" checkbox UNCHECKED.
>
> -- 
> //David
> IIS
> This posting is provided "AS IS" with no warranties, and confers no
> rights.
> //
> "Mike" <m1c0s@hotmail.com> wrote in message
> news:OMiJ%23f$nEHA.708@TK2MSFTNGP09.phx.gbl...
>
> "David Wang [Msft]" <someone@online.microsoft.com> wrote in message
> news:uS3QFY1nEHA.3684@TK2MSFTNGP10.phx.gbl...
>> So, the problem looks like it is with your custom ISAPI Extension or its
>> configuration -- which isn't exactly an issue with IIS6, OWA, nor error
>> opening attachments since as you've stated, they all work WITHOUT your
>> custom ISAPI.
>>
>
> OK, here's another interesting twist.
>
> I have managed to reproduce the problem using standard OWA 2003 and the
> WildCardMap sample ISAPI extension from the Feb 2003 Platform SDK.
>
> The WildCardMap sample extension does no processing, but simply outputs a
> message to the debugger window, then passes on to the next extension in
> the
> chain.
>
> The project was VC 6.0, but I converted it to VC 7 and built a release
> version of WildCardMap.dll, then installed it via IIS Manager using the
> following steps.
>
> 1. Add a new Web Extension Service using WildCardMap.dll and set it to
> 'allowed'.
> 2. Right-click <Default Web Site>/Exchange and select Properties.
> 3. In Exchange Properties\Virtual Directory\Application Settings, click
> the
> Create button.
>    This creates a new application called Exchange with a default
> Application Pool = ExchangeApplicationPool.
>    I then set the Execute Permissions to Script only (which is what I had
> set when our stuff was installed)
> 4. Click the Configuration button, then in the Mappings dialog, click
> Insert
> to Add/Insert Application Extension Mapping, and insert the
> WildCardMap.dll.
> 5.  I then used Move Up to make the WildCardMap.dll the first extension in
> the list.
> 6. Not sure if it's necessary, but I restarted IIS.
>
> The upshot is that OWA 'out of the box' appears to work fine until you
> click
> an attachment URL. Then you get the 404 error.
> Also, the output to the debugger window shows the WildCardMap extension
> log
> messages, except for the attachment URL click, where you get no logging at
> all.
>
> Removing the script mapping for WildCardMap restores normal OWA attachment
> functionality.
>
> OK, I may not be configuring stuff correctly, but I can't see how, and
> it's
> reproducible with only Microsoft code.
> Our application is not installed in this environment.  Oh, we are running
> Windows 2003 Enterprise Server and Exchange 2003, SP1 in a Microsoft
> Virtual
> PC virtual machine.
>
> So... what am I doing wrong?
>
> Regards,
> Mike C
>
>
>