Solved

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

Posted on 2014-04-23
8
4,422 Views
Last Modified: 2014-06-02
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
Comment
Question by:David Haycox
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 2
8 Comments
 
LVL 11

Expert Comment

by:Giladn
ID: 40017316
can you please run:

Test-EcpConnectivity -ClientAccessServer Server01

replace server01 with servername and post back results..
0
 
LVL 1

Author Comment

by:David Haycox
ID: 40017360
[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
 
LVL 11

Expert Comment

by:Giladn
ID: 40017907
0
Free eBook: Backup on AWS

Everything you need to know about backup and disaster recovery with AWS, for FREE!

 
LVL 1

Author Comment

by:David Haycox
ID: 40044155
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
 
LVL 1

Author Comment

by:David Haycox
ID: 40044172
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
 
LVL 1

Author Comment

by:David Haycox
ID: 40044210
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
 
LVL 1

Accepted Solution

by:
David Haycox earned 0 total points
ID: 40095182
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
 
LVL 1

Author Closing Comment

by:David Haycox
ID: 40105107
Solved problem myself.
0

Featured Post

Forrester Webinar: xMatters Delivers 261% ROI

Guest speaker Dean Davison, Forrester Principal Consultant, explains how a Fortune 500 communication company using xMatters found these results: Achieved a 261% ROI, Experienced $753,280 in net present value benefits over 3 years and Reduced MTTR by 91% for tier 1 incidents.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Find out what you should include to make the best professional email signature for your organization.
Preparing an email is something we should all take special care with – especially when the email is for somebody you may not know very well. The pressures of everyday working life stacked with a hectic office environment can make this a real challen…
how to add IIS SMTP to handle application/Scanner relays into office 365.
This video discusses moving either the default database or any database to a new volume.

740 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question