Article ID: 305619
Article Last Modified on 2/22/2007
APPLIES TO
- Microsoft Exchange 2000 Server Standard Edition
- Microsoft Exchange 2000 Enterprise Server
This article was previously published under Q305619
SYMPTOMS
Using Web Distributed Authoring and Versioning (WebDAV) to open or access a large number of mailboxes in rapid succession may cause HTTP 500 errors to be returned on all mailbox accesses over 256.
CAUSE
All WebDAV requests to an Exchange server called under a single-user context are pooled under one session that is limited to 256 concurrent connections. This limit is due to the way that the session count is stored in memory. WebDAV exposes this limitation because it keeps connections open for 10 to 15 minutes.
RESOLUTION
To resolve this problem, obtain the September 2003 Exchange 2000 Server Post-Service Pack 3 (SP3) Rollup. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
824282 September 2003 Exchange 2000 Server Post-Service Pack 3 Rollup
Alternatively, you can work around this problem in the following ways:
- Pause after each group of 256 connections, allowing the other sessions to timeout and new sessions to be created.
- If the code is running in a COM+ component as a specific user, adding additional server packages running under different user contexts will allow an additional 256 connections per package.
- Use another provider to access the Exchange mailboxes (for instance, ADO).
STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section of this article.
MORE INFORMATION
Steps to Reproduce Behavior
- Create 300 mail-enabled users with the alias naming convention of user(x), where x is the number 1 to 300.
- Send an e-mail with the title "Test" to each of the 300 mailboxes.
Run the following code in an Active Server Pages (ASP) page:
<% Response.Buffer = TRUE server.ScriptTimeout = 5000 Dim Rec Dim conn Dim strURL For mailboxloop = 1 To 300 strURL = "http://servername/exchange/user" & mailboxloop & "/inbox" Response.Write strURL & "<br>" Response.Flush strURL = strURL & "/Test.EML" response.write "Open: " & strURL & "<br>" Response.Flush patchmail() Next Sub patchmail Dim intStartPos Dim oRequest Dim strTemp Dim strXML strXML = "<?xml version=""1.0""?>" strXML = strXML & "<D:propertyupdate xmlns:D='DAV:' xmlns:m='urn:schemas:httpmail:'>" strXML = strXML & "<D:set>" strXML = strXML & "<D:prop>" strXML = strXML & "<m:read>1</m:read>" strXML = strXML & "</D:prop>" strXML = strXML & "</D:set>" strXML = strXML & "</D:propertyupdate>" Set oRequest = Server.CreateObject("MSXML2.ServerXMLHTTP") With oRequest .Open "PROPPATCH", strURL, False .setRequestHeader "Content-type:", "text/xml" .Send (strXML) End With If (oRequest.Status <> 207) Then strTemp = "Error, status = " & oRequest.Status & " " & oRequest.statusText & "<BR>" Response.Write strTemp End If Set oRequest = Nothing Exit Sub End sub %>
The first 256 users open without problem, but from 257 on, you receive HTTP 500 errors.
Additional query words: webdav unable to access http
Keywords: kbmsg kbprb KB305619