Assume that you are using an Exchange Web Service (EWS) based application in a Microsoft Exchange Server 2010 environment. In this situation, you cannot access mailboxes, and you receive a "503 Service Unavailable" error. Additionally, the following events are logged in the Application log on the Exchange Server 2010 Client Access server:
Log Name: Application Source: MSExchange Common Date: Date Event ID: 4999 Task Category: General Level: Error Keywords: Classic User: N/A Computer: Computer Description: Watson report about to be sent for process id: Process ID, with parameters: E12, Build Type, Version Number, WS, System.Web, S.W.U.WebServiceParser.GetCompiledType, System.InvalidCastException, XXXX, Version Number. ErrorReportingEnabled: True
Log Name: Application Source: ASP.NET 2.0.50727.0 Date: Date Event ID: 1309 Task Category: Web Event Level: Warning Keywords: Classic User: N/A Computer: Computer Description: Event code: 3005 Event message: An unhandled exception has occurred. Event time: Time Event time (UTC): Time Event ID: ID Event sequence: XXX Event occurrence: XX Event detail code: 0
Process information: Process ID: Process ID Process name: w3wp.exe Account name: NT AUTHORITY\SYSTEM
Exception information: Exception type: InvalidCastException Exception message: Unable to cast object of type 'System.Web.Compilation.BuildResultCustomString' to type 'System.Web.Compilation.BuildResultCompiledType'.
Request information: Request URL: URL Request path: /EWS/Exchange.asmx User host address: IP User: User Is authenticated: True Authentication Type: NTLM Thread account name: NT AUTHORITY\SYSTEM
Thread information: Thread ID: Thread ID Thread account name: NT AUTHORITY\SYSTEM Is impersonating: False Stack trace: at System.Web.UI.WebServiceParser.GetCompiledType(String inputFile, HttpContext context) at System.Web.Services.Protocols.WebServiceHandlerFactory.GetHandler(HttpContext context, String verb, String url, String filePath) at System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
This issue occurs because the Exchange server does not use a correct handler to process the EWS request.
To resolve this issue, install the following update rollup:
2785908 Description of Update Rollup 5 version 2 for Exchange Server 2010 Service Pack 2
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.