• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 5106
  • Last Modified:

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.
0
David Haycox
Asked:
David Haycox
  • 6
  • 2
1 Solution
 
GiladnCommented:
can you please run:

Test-EcpConnectivity -ClientAccessServer Server01

replace server01 with servername and post back results..
0
 
David HaycoxAuthor Commented:
[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.
0
 
GiladnCommented:
0
Making Bulk Changes to Active Directory

Watch this video to see how easy it is to make mass changes to Active Directory from an external text file without using complicated scripts.

 
David HaycoxAuthor Commented:
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

0
 
David HaycoxAuthor Commented:
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

0
 
David HaycoxAuthor Commented:
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!
0
 
David HaycoxAuthor Commented:
The problem was caused by several Application Pools in IIS having been somehow set to use .NET 4.0 rather than 2.0.  By changing these to .NET 2.0, the problem was solved.  The specific application pools were:

DefaultAppPool
MSExchangeECPAppPool
MSExchangeOWACalendarAppPool
1
 
David HaycoxAuthor Commented:
Solved problem myself.
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

  • 6
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now