Link to home
Start Free TrialLog in
Avatar of David Haycox
David HaycoxFlag for United Kingdom of Great Britain and Northern Ireland

asked on

Cannot save changes to OWA settings, "Sorry! We're having trouble processing your request at the moment."

We have a single Exchange 2010 server (v14.3 build 123.4) running with all three roles.  When a user tries to save a signature or any other setting change in Outlook Web Access, they see the error message:

"Sorry! We're having trouble processing your request at the moment. Please try again in a few minutes."

At the same time, the following event (ID 4, source: MSExchange Control Panel) is recorded in the application log:

Current user: 'domain.local/Users/Administrator'
Request for URL 'https://mail.domain.com/ecp/Customize/CalendarAppearance.svc/SetObject?msExchEcpCanary=c4MWA88STkaY5nEjMKD-eEatfVyRLtEI0OVgxmTK65kDaXwy4zblrcoTpcsQDFarjVE3S2AySU8.' failed with the following error:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.TypeLoadException: Could not load type 'System.ServiceModel.Activation.HttpHandler' from assembly 'System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
   at System.Reflection.RuntimeAssembly.GetType(RuntimeAssembly assembly, String name, Boolean throwOnError, Boolean ignoreCase, ObjectHandleOnStack type)
   at System.Reflection.RuntimeAssembly.GetType(String name, Boolean throwOnError, Boolean ignoreCase)
   at System.Activator.CreateInstance(String assemblyString, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityInfo, StackCrawlMark& stackMark)
   at System.Activator.CreateInstance(String assemblyName, String typeName)
   at Microsoft.Exchange.Management.ControlPanel.WebServiceHandler..ctor()
   --- End of inner exception stack trace ---
   at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
   at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
   at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
   at System.Activator.CreateInstance(Type type, Boolean nonPublic)
   at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, StackCrawlMark& stackMark)
   at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
   at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture)
   at System.Web.HttpRuntime.CreateNonPublicInstance(Type type, Object[] args)
   at System.Web.Configuration.HandlerFactoryCache..ctor(String type)
   at System.Web.HttpApplication.GetFactory(String type)
   at System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

System.TypeLoadException: Could not load type 'System.ServiceModel.Activation.HttpHandler' from assembly 'System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
   at System.Reflection.RuntimeAssembly.GetType(RuntimeAssembly assembly, String name, Boolean throwOnError, Boolean ignoreCase, ObjectHandleOnStack type)
   at System.Reflection.RuntimeAssembly.GetType(String name, Boolean throwOnError, Boolean ignoreCase)
   at System.Activator.CreateInstance(String assemblyString, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityInfo, StackCrawlMark& stackMark)
   at System.Activator.CreateInstance(String assemblyName, String typeName)
   at Microsoft.Exchange.Management.ControlPanel.WebServiceHandler..ctor()

Open in new window


There is no header in the default web site in IIS, and the ECP virtual directory has anonymous authentication enabled.

How can we fix this issue?

Thanks in advance for any suggestions.
Avatar of Giladn
Giladn
Flag of Israel image

can you please run:

Test-EcpConnectivity -ClientAccessServer Server01

replace server01 with servername and post back results..
Avatar of David Haycox

ASKER

[PS] C:\Windows\system32>Test-EcpConnectivity -ClientAccessServer EXCH2010
WARNING: Test user 'extest_83fb329dc4a04' isn't accessible, so this cmdlet won't be able to test Client Access server connectivity.
Could not find or sign in with user domain.local\extest_83fb329dc4a04. If this task is being run without credentials, sign in as a Domain Admi
nistrator, and then run Scripts\new-TestCasConnectivityUser.ps1 to verify that the user exists on Mailbox server exch2010.mcc.local
    + CategoryInfo          : ObjectNotFound: (:) [Test-EcpConnectivity], CasHealthCouldN...edInfoException
    + FullyQualifiedErrorId : 22CC167E,Microsoft.Exchange.Monitoring.TestEcpConnectivity
    + PSComputerName        : exch2010.domain.local

WARNING: No Client Access servers were tested.
Sorry about delay, here's the output:

[PS] C:\Program Files\Microsoft\Exchange Server\V14\Scripts>Test-EcpConnectivity -ClientAccessServer EXCH2010| fl


RunspaceId                  : 021e1480-147b-4665-a377-b85b8f7b075e
LocalSite                   : Default-First-Site-Name
SecureAccess                : True
VirtualDirectoryName        : ecp (Default Web Site)
Url                         : https://mail.domain.com/ecp/
UrlType                     : Internal
Port                        : 0
ConnectionType              : Plaintext
ClientAccessServerShortName : exch2010
LocalSiteShortName          : Default-First-Site-Name
ClientAccessServer          : exch2010.domain.local
Scenario                    : Logon
ScenarioDescription         : Sign in to Exchange Control Panel and verify the response page.
PerformanceCounterName      : Logon Latency
Result                      : Success
Error                       :
UserName                    : extest_83fb329dc4a04
StartTime                   : 06/05/2014 12:36:39
Latency                     : 00:00:00.2184063
EventType                   : Success
LatencyInMillisecondsString : 218.41
Identity                    :
IsValid                     : True

RunspaceId                  : 021e1480-147b-4665-a377-b85b8f7b075e
LocalSite                   : Default-First-Site-Name
SecureAccess                : True
VirtualDirectoryName        : ecp (Default Web Site)
Url                         : https://mail.domain.com/ecp/
UrlType                     : Internal
Port                        : 0
ConnectionType              : Plaintext
ClientAccessServerShortName : exch2010
LocalSiteShortName          : Default-First-Site-Name
ClientAccessServer          : exch2010.domain.local
Scenario                    : WebServiceCall
ScenarioDescription         : An attempt was made to invoke the Web service at https://mail.domain.com/ecp/RulesEditor/InboxRules.s
                              vc/GetList.
PerformanceCounterName      : ECP Web Sevice Logon Latency
Result                      : Success
Error                       : An exception was thrown by the Web service: The remote server returned an error: (500) Internal Server Error.
UserName                    : extest_83fb329dc4a04
StartTime                   : 06/05/2014 12:36:39
Latency                     : 00:00:00.0156022
EventType                   : Success
LatencyInMillisecondsString :
Identity                    :
IsValid                     : True

Open in new window

This looks relevant as well, SSL cert-related?

[PS] C:\Program Files\Microsoft\Exchange Server\V14\Scripts>Test-ActiveSyncConnectivity | fl


RunspaceId                  : 021e1480-147b-4665-a377-b85b8f7b075e
LocalSite                   : Default-First-Site-Name
SecureAccess                : True
VirtualDirectoryName        :
Url                         :
UrlType                     : Unknown
Port                        : 0
ConnectionType              : Plaintext
ClientAccessServerShortName : exch2010
LocalSiteShortName          : Default-First-Site-Name
ClientAccessServer          : exch2010.domain.local
Scenario                    : Options
ScenarioDescription         : Issue an HTTP OPTIONS command to retrieve the Exchange ActiveSync protocol version.
PerformanceCounterName      : DirectPush Latency
Result                      : Failure
Error                       : [System.Net.WebException]: The underlying connection was closed: Could not establish trust relationship for t
                              he SSL/TLS secure channel. Inner error [System.Security.Authentication.AuthenticationException]: The remote c
                              ertificate is invalid according to the validation procedure.
UserName                    : extest_83fb329dc4a04
StartTime                   : 06/05/2014 12:43:58
Latency                     : -00:00:01
EventType                   : Error
LatencyInMillisecondsString :
Identity                    :
IsValid                     : True

Open in new window

I just realised that the ActiveSync error posted above is not relevant as I should have used the command:

Test-ActiveSyncConnectivity -URL "https://mail.domain.com/Microsoft-Server-ActiveSync" | fl

... because otherwise it uses the local name, which isn't on the certificate.

Also I have just spotted that under the EMC, Server Configuration, Exchange Certificates, the cert for mail.domain.com has the status "The certificate is invalid for Exchange Server usage" - thought I should mention it in case it's relevant.

Thanks again!
ASKER CERTIFIED SOLUTION
Avatar of David Haycox
David Haycox
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Solved problem myself.