Introduction - Exchange 2010 Post Patch CAS Array Errors
Hello Fellow System Engineers...
I Hope this blog will help with those hard to find answers...
Every once in awhile google fails you....
It is my mission to save your kiester from staying up all night, losing data and damaging your forehead from the dreaded face-plant keyboard smash... we all hate that don't we...
This is a collection of the most annoying and difficult problems I have faced, (or will be facing!?) during my IT consultant tenure...
You name it, I've probably blundered my way through it...
I hope this blog saves you from some of the long nights I had to endure..
Post Exchange Service Pack Upgrade - CAS Server Connectivity Issues
I ran into this wonderful issue last night... turned a 2 hour quick Exchange 2010 SP1 to SP3 upgrade into a 4 hour nightmare.. well ok it wasn't so bad.. but it still annoying that microsoft always goofs up exchange updates..
After applying the sp3 patch to both servers in the CAS array we decided to stop and start testing access before moving on to the DAG. Everything APPEARED to check out.... but of course the last test, outlook anywhere, decided to take a dump.
FACE-SMASH PREVENTION TIP: All the folder settings in IIS are reset during a patch upgrade, (so take screenshots or write down the SSL settings, authentication settings, and the redirect settings of ALL the subfolders in IIS)
I double-checked all the IIS settings again just to be sure I did not forget anything... everything checked out..
I went into the Application Log to see if any errors were popping up... and it was full with the below error..
*********************************************************************************
Event code: 3008
Event message: A configuration error has occurred.
Event time: 12/11/2014 12:25:20 AM
Event time (UTC): 12/11/2014 5:25:20 AM
Event ID: c9c5ccec4c0446cd81ee2ea9ce3d9cd8
Event sequence: 1
Event occurrence: 1
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/1/ROOT/Rpc-53-130627491203872611
Trust level: Full
Application Virtual Path: /Rpc
Application Path: C:\Windows\System32\RpcProxy\
Machine name: BigDickMagee
Process information:
Process ID: 5784
Process name: w3wp.exe
Account name: IIS APPPOOL\DefaultAppPool
Exception information:
Exception type: ConfigurationErrorsException
Exception message: Could not load file or assembly 'Microsoft.Exchange.RpcClientAccess.Coexistence, Version=14.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
Request information:
Request URL: https://Igot.abig.wanger:443/rpc/rpcproxy.dll?wang.wang.local:6001
Request path: /rpc/rpcproxy.dll
User host address: 741.109.146.876
User:
Is authenticated: False
Authentication Type:
Thread account name: IIS APPPOOL\DefaultAppPool
Thread information:
Thread ID: 1
Thread account name: IIS APPPOOL\DefaultAppPool
Is impersonating: False
Stack trace: at System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, XmlNode node, Boolean checkAptcaBit, Boolean ignoreCase)
at System.Web.Configuration.Common.ModulesEntry..ctor(String name, String typeName, String propertyName, ConfigurationElement configElement)
at System.Web.HttpApplication.BuildIntegratedModuleCollection(List`1 moduleList)
at System.Web.HttpApplication.GetModuleCollection(IntPtr appContext)
at System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers)
at System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context)
at System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context)
at System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)
Custom event details:
********************************************************************************************************
What kind of BS is this? Well let me tell you what happened... The darn web.config file, located at
C:\windows\system32\rpcproxy\
Did not update properly... and had incomplete paths.. Let me show you what i mean...
Post Patch RPC Web.Config file:
********************************************************************************************************
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.Exchange.RpcClientAccess.Coexistence" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<codeBase version="14.0.0.0" href="file:///%ExchangeInstallDir%bin\Microsoft.Exchange.RpcClientAccess.Coexistence.dll" />
</dependentAssembly>
<dependentAssembly>
********************************************************************************************************
Pre Patch RPC Web.Config file:
********************************************************************************************************
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.Exchange.RpcClientAccess.Coexistence" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<codeBase version="14.0.0.0" href="file:///C:\Program Files\Microsoft\Exchange Server\V14\bin\Microsoft.Exchange.RpcClientAccess.Coexistence.dll" />
</dependentAssembly>
********************************************************************************************************
The "new" and "improved" web.config file uses some sort of variable that
IIS NO LIKEY...
Either do a find and replace inserting the correct full path OR restore the file from the backup you took before performing the upgrade. You backed up everything beforehand right???
After that is done run an IISRESET at an elevated command prompt.. you should not see those ASP errors anymore... Outlook Anywhere works in all its glory...
Hope this saved you at least a few hours and a phone call to "FRANK" from Mumbai...

Comments
Post a Comment