Recently we had a case come in whereby a customer was having problems connecting to a mailbox using EWS against a Live@Edu mailbox.  There were a few interesting points that came up during investigation of this case.

In the first instance, we only support using Autodiscover with EWS to access any cloud mailbox (e.g. Live@Edu and Office 365) - we do not support using static URLs.  There are a variety of reasons for this, including the possibility that a mailbox may move so you should never rely on a hard-coded (or static) URL.  There is another more important reason, though.  With online services, the process of autodiscover causes some work to happen behind the scenes.  I have seen a few cases where customers have reported receiving Access Denied or Mailbox Unavailable when using hardcoded URLs, even though the URL is correct for the mailbox.  This is common after a password change, but can also happen at other times.  If you use Autodiscover to connect, you will not have this issue.  Interestingly, another way of avoiding the issue is to force basic authentication when accessing the mailbox (this in particular applies after the password change).

Once Autodiscover is set up (i.e. you have set your DNS records correctly as described here ), there are still some other points that can affect mailbox access.  One of them is the MAPIEnabled property as applied using the Set-CASMailbox cmdlet.  For Autodiscover to work correctly, MAPIEnabled must be true e.g.

Set-CASMailbox <identity> -MAPIEnabled $true

If MAPIEnabled is false, then the Autodiscover.xml file (that contains all the access information for the mailbox) does not contain the EWS endpoints.  This means that autodiscover will fail (this is true when using the EWS Managed API or any other method).  Even when the EWSEnabled property is true for the mailbox, if MAPIEnabled is false, the autodiscover.xml does not contain the EWS information.  As we do not support accessing cloud mailboxes except when using autodiscover, this essentially means that you must ensure MAPIEnabled is true to be able to access a mailbox using EWS.

When testing the above, I updated my EWS test application to perform autodiscover as described on MSDN.  The application shows the process involved in finding the correct autodiscover URL, and will then log the autodiscover.xml file returned so that you can see what is there.  It is now a fairly useful tool for troubleshooting Autodiscover.  SOAPTestApp is available from Codeplex.