Exchange 2010 Outlook Anywhere (RPC over HTTP) not working (The EXCH provider section is missing from the Autodiscover response.)

A bit of backstory... network exploded, rebuilt. This AD has survived people not knowing what they are doing, Exchange 2007 (installed and removed a few times), Exchange 2010 (current in use and re-did from a crash once).

My Outlook Anywhere (RPC over HTTP) is not working, the XML response is below and as far as I can tell it's providing all the right information yet testexchangeconnectivity.com still says "The EXCH provider section is missing from the Autodiscover response."

I've gone through AD with a fine tooth comb and I believe everything is ok (everything is correct in Exchange service under configuration in ADSIEDIT), though I may not be looking in the right places.

My internal and external url are the same. Any tips on where to look or any input is greatly appreciated!

<?xml version="1.0"?>
<Autodiscover xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/exchange/autodiscover/responseschema/2006">
  <Response xmlns="http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a">
    <User>
      <DisplayName>User Name</DisplayName>
      <LegacyDN>/o=Org/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=User Name</LegacyDN>
      <DeploymentId>1f6566b1-18f9-43ae-a2f4-495916449c3f</DeploymentId>
    </User>
    <Account>
      <AccountType>email</AccountType>
      <Action>settings</Action>
      <Protocol>
        <Type>EXCH</Type>
        <MdbDN>/o=Org/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=TRITON/cn=Microsoft Private MDB</MdbDN>
        <ASUrl>https://mail.domain.com/EWS/exchange.asmx</ASUrl>
        <OOFUrl>https://mail.domain.com/EWS/exchange.asmx</OOFUrl>
        <OABUrl>http://mail.domain.com/OAB/484c877c-a2ca-4ec7-b6eb-69c51c199245/</OABUrl>
        <UMUrl>https://mail.domain.com/EWS/UM2007Legacy.asmx</UMUrl>
        <Port>0</Port>
        <DirectoryPort>0</DirectoryPort>
        <ReferralPort>0</ReferralPort>
        <CertPrincipalName>msstd:*.domain.com</CertPrincipalName>
        <PublicFolderServer>ScuttleTwo.domain.com</PublicFolderServer>
        <AD>Dewey.students.domain.com</AD>
        <EwsUrl>https://mail.domain.com/EWS/exchange.asmx</EwsUrl>
        <EcpUrl>https://mail.domain.com/ecp</EcpUrl>
        <EcpUrl-um>?p=customize/voicemail.aspx&amp;exsvurl=1</EcpUrl-um>
        <EcpUrl-aggr>?p=personalsettings/EmailSubscriptions.slab&amp;exsvurl=1</EcpUrl-aggr>
        <EcpUrl-mt>PersonalSettings/DeliveryReport.aspx?exsvurl=1&amp;IsOWA=&lt;IsOWA&gt;&amp;MsgID=&lt;MsgID&gt;&amp;Mbx=&lt;Mbx&gt;</EcpUrl-mt>
        <EcpUrl-sms>?p=sms/textmessaging.slab&amp;exsvurl=1</EcpUrl-sms>
      </Protocol>
      <Protocol>
        <Type>EXPR</Type>
        <Server>mail.domain.com</Server>
        <ASUrl>https://mail.domain.com/EWS/exchange.asmx</ASUrl>
        <OOFUrl>https://mail.domain.com/EWS/exchange.asmx</OOFUrl>
        <OABUrl>https://mail.domain.com/OAB/484c877c-a2ca-4ec7-b6eb-69c51c199245/</OABUrl>
        <UMUrl>https://mail.domain.com/EWS/UM2007Legacy.asmx</UMUrl>
        <Port>0</Port>
        <DirectoryPort>0</DirectoryPort>
        <ReferralPort>0</ReferralPort>
        <SSL>On</SSL>
        <AuthPackage>Basic</AuthPackage>
        <CertPrincipalName>msstd:*.domain.com</CertPrincipalName>
        <EwsUrl>https://mail.domain.com/EWS/exchange.asmx</EwsUrl>
        <EcpUrl>https://mail.domain.com/ecp</EcpUrl>
        <EcpUrl-um>?p=customize/voicemail.aspx&amp;exsvurl=1</EcpUrl-um>
        <EcpUrl-aggr>?p=personalsettings/EmailSubscriptions.slab&amp;exsvurl=1</EcpUrl-aggr>
        <EcpUrl-mt>PersonalSettings/DeliveryReport.aspx?exsvurl=1&amp;IsOWA=&lt;IsOWA&gt;&amp;MsgID=&lt;MsgID&gt;&amp;Mbx=&lt;Mbx&gt;</EcpUrl-mt>
        <EcpUrl-sms>?p=sms/textmessaging.slab&amp;exsvurl=1</EcpUrl-sms>
      </Protocol>
      <Protocol>
        <Type>WEB</Type>
        <Port>0</Port>
        <DirectoryPort>0</DirectoryPort>
        <ReferralPort>0</ReferralPort>
        <Internal>
          <OWAUrl AuthenticationMethod="Basic, Fba">https://mail.domain.com/owa/</OWAUrl>
          <Protocol>
            <Type>EXCH</Type>
            <ASUrl>https://mail.domain.com/EWS/exchange.asmx</ASUrl>
          </Protocol>
        </Internal>
        <External>
          <OWAUrl AuthenticationMethod="Fba">https://mail.domain.com/owa/</OWAUrl>
          <Protocol>
            <Type>EXPR</Type>
            <ASUrl>https://mail.domain.com/EWS/exchange.asmx</ASUrl>
          </Protocol>
        </External>
      </Protocol>
    </Account>
  </Response>
</Autodiscover>

Solution 1:

I had this same problem, and it took some digging, as the Exchange Remote Connectivity tool error message is quite misleading.

What this turned out to be, for me, was a reference to a CAS server that had recently been removed, in the databases' RPCClientAccessServer property. (As a bit of background, Exchange is new in my environment, and I had set up Exchange with some 'test' hostnames. Once it was time to move to production hostnames, I removed the test servers from the environment...)

The RPCClientAccessServer seems to not be set dynamically. Obviously, as this is my initial Exchange implementation, I'm no expert, so if anyone can provide any more info on this, please indulge me.

Anyway, the resolution to this issue was as simple as grabbing the databases and resetting the RPCClientAccessServer property, using PowerShell.

For example, the following gets all databases on host "mailbox01", and sets the RPCClientAccessServer to "newCAS02":

    Get-MailboxDatabase -Server mailbox01.example.local | Set-MailboxDatabase -RPCClientAccessServer newCAS02.example.local

Note that these should be FQDNs.

To give credit where credit is due, I found my solution here http://exchangeserverpro.com/outlook-clients-unable-to-connect-to-exchange-2010-after-client-access-server-role-moved

I thought I'd post it here, because it mentions nothing about the "EXCH provider section missing" error, and this solution was a little tough to track down.