Article ID: 927672
Article Last Modified on 4/25/2007
APPLIES TO
- Windows Vista Enterprise
- Windows Vista Enterprise 64-bit Edition
- Windows Vista Ultimate
- Windows Vista Ultimate 64-bit Edition
- Windows Vista Business
- Windows Vista Business 64-bit Edition
- Windows Vista Home Premium
- Windows Vista Home Premium 64-bit Edition
- Windows Vista Home Basic
- Windows Vista Home Basic 64-bit Edition
SYMPTOMS
When a client computer uses a SOAP Web Services Description Language (WSDL) moniker to activate a COM+ SOAP-enabled server on a computer that is running Windows Vista, server activation fails. Additionally, you receive an error page that resembles the following:
CAUSE
This problem is not a COM+ SOAP service-specific problem. This problem occurs because of a Microsoft Internet Information Services (IIS) 7.0 security enhancement in Windows Vista. When a client computer activates a COM+ SOAP-enabled server, .NET Framework remoting generates a URL. However, the URL that .NET Framework remoting generates contains a double escape sequence. By default, IIS 7.0 rejects URLs that contain a double escape sequence. Therefore, IIS 7.0 denies the request with a 404.11 (not found) error message, and the server activation fails.
Note URLs that contain a double escape sequence work in earlier versions of IIS.
WORKAROUND
To work around this problem, follow these steps:
- Locate the following directory:
%windir%\System32\inetsrv\config
- Open the applicationHost.config file in a text editor such as Notepad.
In the applicationHost.config file, locate the following code:
<section name="requestFiltering" overrideModeDefault="Deny" />
Replace the code that you found in step 3 with the following code:
<section name="requestFiltering" overrideModeDefault="Allow"/>
- Locate the following diretory:
%windi%\System32\com
- Double-click the directory of the SOAP-enabled server that you want to activate.
- Open the web.config file in a text editor such as Notepad.
In the web.config file, locate the following code:
</configuration>
Replace the code that you found in step 8 with the following code:
<system.webServer> <security> <requestFiltering allowDoubleEscaping="True"/> </security> </system.webServer> </configuration>
STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
REFERENCES
For more information about .NET Framework remoting, visit the following Microsoft Developer Network Web site:
Additional query words: IIS COM+ SOAP .NET Remoting 404.11
Keywords: kbtshoot kbcode kbbug kbprb KB927672