MAPI over HTTP: Exchange 2013
April 14, 2014
I just returned from MEC 2014 (Microsoft Exchange Conference) in Austin and one of the session I attended was about Outlook Connectivity.
I thought that RPC/HTTP was the protocol of the future, but now we have the brand new protocol MAPI/HTTP. This is also the beginning of the end of RPC over HTTP aka “Outlook Anywhere”. The new protocol has been designed for wireless and remote connectivity.
Right now this protocol is only supported in Exchange 2013 SP1 along with Outlook 2013 SP1 – but the good news is that we will get this in Outlook 2010 also.
Since SP1 for Outlook, Outlook will make an autodiscover request with MAPI over HTTP capability. (X-MapiHttpCapability). If the server supports MAPI over HTTP, it will response with the MAPI over HTTP info.
If you have two mailboxes in Outlook and one is on a server who only supports RPC/HTTP and the other is on a server who is ready for MAPI over HTTP, then Outlook will run both protocols.
Now let me show you how to enable MAPI over HTTP.
- First of all you need to install .NET frameworks 4.5.1 for optimal MAPI/HTTP performance.
After that we are good to go.
First let’s check the new virtual directory “MAPI”
Like in the past with the other virtual directories we also need to change the URLs here – you should also set the ExternalUrl
Then we need to activate MAPI/HTTP
Now lets take a look at the Outlook connection before
In a few month Outlook will suppress the old “The Microsoft Exchange administrator….” when you enable this protocol. This will be in an update coming May 2014. Until then users will get this.
Now lets take a look at the protocol in Outlook after we have enabled MAPI over HTTP.
Along with this new protocol we also have got some new logs. They are placed here:
- CAS: %ExchangeInstallPath%\Logging\HttpProxy\Mapi\
- Mailbox: %ExchangeInstallPath%\Logging\MAPI Client Access\
- Mailbox: %ExchangeInstallPath%\Logging\MAPI Address Book Service\
If you wan’t to check if you are able to connect to the MAPI over HTTP endpoint, simply go to this URL https://mail.contoso.com/mapi/emsmdb
Here you are also able to see which servers you are connected to. Cafe is the CAS front end server and Mailbox is the server where your mailbox is located.
Now if we add the flag ?Showdebug=yes things get even more interesting.
Here we can see the only active connection in my lab. The 192.168.2.120 is the address of my Kemp VLM.
There is no reason to avoid this protocol. In fact Microsoft want you to use it.
You will have a little increase in CPU usage on the CAS servers, but also a lower memory usage, about 50 – 60% per user.
With this protocol clients will connect and reconnect much faster than with previous protocols. One of the reasons for that is that sessions are kept for 15 minutes.