Microsoft KB Archive/305619

From BetaArchive Wiki

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

  1. Create 300 mail-enabled users with the alias naming convention of user(x), where x is the number 1 to 300.
  2. Send an e-mail with the title "Test" to each of the 300 mailboxes.
  3. 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