Exchange 2010 Autodiscover & OWA Not working properly

Hi everyone,

About a week ago auto discover stopped working on our exchange server, alongside this OWA users are unable to delete or move emails, also out of office fails to work.

I have tried many things including:

Rebuilding IIS exchange folders
Removing and re-adding bindings in IIS (including IIS resets)

All with no luck, I am running out of ideas..

Server: 2008 R2, Exchange 2010 Sp3 CU9

I am seeing this error in logs whenever someone tries to probe autodiscover:
Could the IIS settings somewhere be corrupt?

Log Name:      Application
Source:        System.ServiceModel 3.0.0.0
Date:          14/06/2015 14:38:52
Event ID:      3
Task Category: WebHost
Level:         Error
Keywords:      Classic
User:          SYSTEM
Computer:      EXCHANGE.highfield.local
Description:
WebHost failed to process a request.
 Sender Information: System.ServiceModel.ServiceHostingEnvironment+HostingManager/32001227
 Exception: System.ServiceModel.ServiceActivationException: The service '/Autodiscover/autodiscover.xml' 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: 11984

Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="System.ServiceModel 3.0.0.0" />
    <EventID Qualifiers="49154">3</EventID>
    <Level>2</Level>
    <Task>5</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2015-06-14T13:38:52.000000000Z" />
    <EventRecordID>2133705</EventRecordID>
    <Channel>Application</Channel>
    <Computer>EXCHANGE.highfield.local</Computer>
    <Security UserID="S-1-5-18" />
  </System>
  <EventData>
    <Data>System.ServiceModel.ServiceHostingEnvironment+HostingManager/32001227</Data>
    <Data>System.ServiceModel.ServiceActivationException: The service '/Autodiscover/autodiscover.xml' 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. ---&gt; 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)</Data>
    <Data>w3wp</Data>
    <Data>11984</Data>
  </EventData>
</Event>
alexbuckland1Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

MAS (MVE)EE Solution Guide - Technical Dept HeadCommented:
A quick solution is to uninstall CAS role, restart server and install again using Exchange2010 media.
Then set the URLs of OWA, ECP, OAB etc,
Use this for setting OAB,EWS,Autodiscover URLs
http://www.experts-exchange.com/articles/13676/Out-Of-office-not-working.html
0
alexbuckland1Author Commented:
Hi,

I have not tried re-installing CAS role - but I have tested / tried all the suggestions in the link.

Thanks,
0
MAS (MVE)EE Solution Guide - Technical Dept HeadCommented:
Please try reinstalling CAS role.
Go to add/Remove programs-->Select Exchange2010--> click on uninstall--> untick CAS and click Next
Restart server and install CAS role again


set the URLs as per article.
http://www.experts-exchange.com/articles/13676/Out-Of-office-not-working.html 

You can set the rest using this
http://www.mynetworks.me/2010/07/03/configure-ews-autodiscover-owa-oab-ecp-on-exchange-server-2010/
0
Simplify Active Directory Administration

Administration of Active Directory does not have to be hard.  Too often what should be a simple task is made more difficult than it needs to be.The solution?  Hyena from SystemTools Software.  With ease-of-use as well as powerful importing and bulk updating capabilities.

alexbuckland1Author Commented:
Ok,

I might wait until next week, I learnt a long time ago not to mess around with production servers on a Sunday evening.

I will download the install ISO from MSDN, and I assume i will need to reapply the SP, and CU9
0
alexbuckland1Author Commented:
In the meantime (and until next weekend), does anyone know of anything else I can try?

Thanks for all your help.
0
OllarConsultingCommented:
I think this line is the big clue:

The service '/Autodiscover/autodiscover.xml' 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.

Scour through your IIS configuration and make sure your HTTP and HTTPS bindings are okay.  Make sure there aren't additional HTTP or HTTPS bindings for the various websites...
0
alexbuckland1Author Commented:
Here are screenshots of my bindings.
I have removed them all and recreated them - I note the "127.0.0.1" entry reappear after a restart.

Thanks for looking!
screenshot2.png
screenshot1.png
0
OllarConsultingCommented:
What happens if you delete the Loopback bindings and then stop/start the Default site?
0
alexbuckland1Author Commented:
If I do that the entries stay removed but  problem still remains.
If I reboot the server they then reappear.

Thanks
0
alexbuckland1Author Commented:
Hi,

Great thanks.

http://programount.blogspot.com/2012/07/exchange-server-2010-autodiscover.html

Looks very promising. I will have a play with this tonight when everyone is off the server.
0
alexbuckland1Author Commented:
OK,

So I added:

<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />

(the server is running .net 4)

Into the correct section on the autodiscover folder inside web.config

and the message stopped appearing (but still no autodiscover) instead the same error, but referring to EWS. So i inserted the same line in the EWS web.config - and then errors stopped.

But... autodiscover still fails (no error generated on the server) and OWA if I try and delete an email I get:

Event ID: 108
Outlook Web App couldn't connect Exchange Web Services due to a configuration error. response code=500

Arrrgh.
0
OllarConsultingCommented:
Doh!  I hate when that happens.

You mentioned that all of this cropped up about a week ago.  Do you recall anything changing at that time - service pack, port change, new software, etc?
0
alexbuckland1Author Commented:
Hi

Not that I am aware of.... The guys that look after the "3sys" software and website you can see In the IIS screenshot did an update a few weeks ago but they insist nothing was changed with regards to IIS, not sure I believe them but I cannot prove otherwise.

Hmmmm
0
OllarConsultingCommented:
What happens if you totally shut down that other website, then stop/restart the default website?  Any change?
0
alexbuckland1Author Commented:
Which website do you mean? The 3sys site?
Not tried that, but could give it a go...

Just disable it IIS?
0
alexbuckland1Author Commented:
sorry i meant "disable it in IIS?"
0
alexbuckland1Author Commented:
OK,

Update.

Although the log was not showing an error, browsing to the autodiscover URL was showing an error in the code I inserted. Can anyone advise where I should enter:

<system.serviceModel>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true">
    </serviceHostingEnvironment>
</system.serviceModel>

in the web config files?

Thanks
0
alexbuckland1Author Commented:
hi again,

I think perhaps I should be adding this (sample from link above) to the autodiscover config but i am not sure where to put it in the web.config file and what domain I should use in the URL. Everytime I try I get an error referring to my code.

<baseaddressprefixfilters>
<add prefix="http://domain.com"></add>
</baseaddressprefixfilters>

Thanks
0
K BCommented:
What are the result if you test OWA and Autodiscover here:

https://testconnectivity.microsoft.com
0
MAS (MVE)EE Solution Guide - Technical Dept HeadCommented:
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Exchange

From novice to tech pro — start learning today.