Articles > Networking
Printer Friendly Version
Views: 9130

Exchange 2010 Migration Tips and Gotchas

Last Updated: 11/27/13

Note: Exchange 2010 OWA Event ID 108 and Event ID 3 errors have many causes. This is only a sample one.

Problem: I was getting these errors:
Log Name:      Application
Source:        MSExchange OWA
Date:          9/5/2013 9:31:47 AM
Event ID:      108
Task Category: Configuration
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      exchangeweb.[fqdn]
Description:
Outlook Web App couldn't connect Exchange Web Services due to a configuration error. Response code = "500".


Log Name:      Application
Source:        System.ServiceModel 3.0.0.0
Date:          9/5/2013 9:31:47 AM
Event ID:      3
Task Category: WebHost
Level:         Error
Keywords:      Classic
User:          SYSTEM
Computer:      exchangeweb.[fqdn]
Description:
WebHost failed to process a request.
 Sender Information: System.ServiceModel.ServiceHostingEnvironment+HostingManager/30542218



 Exception: System.ServiceModel.ServiceActivationException: The service '/EWS/exchange.asmx' cannot be activated due to an exception during compilation.  The exception message is: This collection already contains an address with scheme http.  There can be at most one address per scheme in this collection.
Parameter name: item. ---> System.ArgumentException: This collection already contains an address with scheme http.  There can be at most one address per scheme in this collection.
Parameter name: item
   at System.ServiceModel.UriSchemeKeyedCollection.InsertItem(Int32 index, Uri item)
   at System.Collections.Generic.SynchronizedCollection`1.Add(T item)
   at System.ServiceModel.UriSchemeKeyedCollection..ctor(Uri[] addresses)
   at System.ServiceModel.ServiceHost..ctor(Type serviceType, Uri[] baseAddresses)
   at System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(Type serviceType, Uri[] baseAddresses)
   at System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(String constructorString, Uri[] baseAddresses)
   at System.ServiceModel.ServiceHostingEnvironment.HostingManager.CreateService(String normalizedVirtualPath)
   at System.ServiceModel.ServiceHostingEnvironment.HostingManager.ActivateService(String normalizedVirtualPath)
   at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath)
   --- End of inner exception stack trace ---
   at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath)



   at System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(String relativeVirtualPath)
 Process Name: w3wp
 Process ID: 4436

Cause:
In this specific case the problem is caused by the way .NET web services handle protocol bindings. A Microsoft hotfix may be available to fix this behavior.

Solution:
Adjust your IIS bindings back to the default ones. See below:
exchweb bindings.png

[untested] Recreating the exchange virtual directories may also work be redefining the expected bindings at the .NET level.


Other relevant Tips or Gotchas

** setting default domain for OWA **
- This can be done form exchange management console: Server config > client access > [select server] > outlook web app [tab] > properties [default web site] > Authentication [tab]

** OAB (operation failed. an object cannot be found) - event id 9360 OAL Generator **
- make sure you set the offline address book for each mail database on your Exchange 2010 database server(s)
- exchange management console: organization config > Mailbox > [select a database] > properties > client settings [tab]


** windows auth on all Active-sync-folders for mobile devices **
- Some active sync issues are caused by not having windows authentication enabled via IIS on the "Microsoft-Server-ActiveSync" virtual directory in IIS. Do this for all external and internal CAS servers that have IIS virtual directories with that name

** Mobile devices stopped syncing ***
- you can change all the username's in the phones to be domain\username if they aren't already or set the default name via IIS. Find the "Microsoft-Server-ActiveSync" virtual directory in IIS, go to: Authentication > Basic authenticaion > right click [edit] > enter your domain.
set default domain for exchange 2010 activesync.png

** public folder replication **
- don't forget to replicate your public folders including free busy and OAB folders

** SSL certs for autodiscover,webmail,legacy **
- I purchased a SSL cert and forgot to include SANs for some needed aliases. Save your self some trouble and buy a digicert wildcard cert for $600 with unlimited SANs.

** SMTP receive connector only relays email to internal addresses ***
http://exchangeserverpro.com/how-to-configure-a-relay-connector-for-exchange-server-2010/





Keywords: exchange 2003, exchange 2010, migration, upgrade, move, andorid, owa, oab, webmail