Export (0) Print
Expand All

MAPI over HTTP

 

Topic Last Modified: 2014-06-18

Messaging Application Programming Interface (MAPI) over HTTP is a new transport protocol implemented in Microsoft Exchange Server 2013 Service Pack 1 (SP1) and Microsoft Outlook 2013 SP1. MAPI over HTTP improves the reliability and stability of the Outlook and Exchange connections by moving the transport layer to the industry-standard HTTP model. This allows a higher level of visibility of transport errors and enhanced recoverability. Additional functionality includes support for an explicit pause-and-resume function. This enables supported clients to change networks or resume from hibernation while maintaining the same server context.

Implementing MAPI over HTTP does not mean that it is the only protocol that can be used for Outlook to access Exchange. Outlook clients that are not MAPI over HTTP capable can still use Outlook Anywhere (RPC over HTTP) to access Exchange through a MAPI-enabled Client Access server.

MAPI over HTTP offers the following benefits to clients that use Outlook 2013 SP1:

  • Enables future innovation in authentication by using an HTTP based protocol.

  • Provides faster reconnection times after a communications break because only TCP connections—not RPC connections—need to be rebuilt. Examples of a communication break include:

    • Device hibernation

    • Changing from a wired network to a wireless or cellular network

  • Offers a session context that is not dependent on the connection. The server maintains the session context for a configurable period of time—even if the user changes networks.

Consider the following requirements to enable MAPI over HTTP.

  • Supportability   Verify that your intended configuration versions are supported.

  • Prerequisites   Verify that your environment has been upgraded and prepared for MAPI over HTTP.

  • Configuration   Configure the virtual directories, and enable MAPI for your organization.

Use the following matrix to verify that your clients and servers support MAPI over HTTP.

 

Product Exchange 2013 SP1 Exchange 2013 RTM Exchange 2010 SP3 Exchange 2007 SP3

Outlook 2013 SP1

  • MAPI over HTTP

  • Outlook Anywhere

Outlook Anywhere

  • RPC

  • Outlook Anywhere

  • RPC

  • Outlook Anywhere

Outlook 2013 RTM

Outlook Anywhere

Outlook Anywhere

  • RPC

  • Outlook Anywhere

  • RPC

  • Outlook Anywhere

Outlook 2010

Outlook Anywhere

Outlook Anywhere

  • RPC

  • Outlook Anywhere

  • RPC

  • Outlook Anywhere

Outlook 2007

Outlook Anywhere

Outlook Anywhere

  • RPC

  • Outlook Anywhere

  • RPC

  • Outlook Anywhere

Complete the following steps to prepare the clients and servers to support MAPI over HTTP.

  1. Upgrade Outlook clients to Outlook 2013 SP1.

  2. Upgrade Client Access and Mailbox servers to Exchange 2013 SP1. For information about how to upgrade, see Upgrade Exchange 2013 to the latest cumulative update or service pack.

    NoteNote:
    All Client Access servers must be upgraded to Exchange 2013 SP1 before enabling MAPI over HTTP. Otherwise, Outlook can fail to connect to mailboxes.
    Failure to upgrade the all the Mailbox servers in a Database Availability Group (DAG) can result in email delays and a client requirement to restart Outlook in case of a database failover.
  3. For any of your Exchange 2013 SP1 servers that aren't running on Windows Server 2012 R2, you need to upgrade the Microsoft .NET Framework to 4.5.1. For more information see Installing the .NET Framework 4.5, 4.5.1.

  4. Install one of the following hotfix rollups for the .NET Framework 4.5.1 on all Exchange 2013 SP1 servers.

  5. On all Exchange 2013 SP1 Client Access servers, add the following registry key.

    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework]
    "DisableRetStructPinning"=dword:00000001
    
    
  6. On all Exchange 2013 SP1 Client Access servers, add the COMPLUS_DisableRetStructPinning Windows environment variable by performing the following steps.

    1. In a Command prompt window, run systempropertiesadvanced and click Environment Variables.

    2. In the System variables section, click New and enter the following information.

      • Variable name   COMPLUS_DisableRetStructPinning

      • Variable value   1

    3. When you are finished, click OK.

Complete the following steps to configure MAPI over HTTP for your organization.

  1. Virtual directory configuration   By default, Exchange 2013 SP1 creates a virtual directory for MAPI over HTTP. You use the Set-MapiVirtualDirectory cmdlet to configure the virtual directory. You must configure an internal URL, an external URL, or both. For more information see, Set-MapiVirtualDirectory.

    For example, to configure the default MAPI virtual directory on the local Exchange server by setting the internal URL value to https://contoso.com/mapi, and the authentication method to Negotiate, run the following command:

    Set-MapiVirtualDirectory -Identity "Contoso\mapi (Default Web Site)" -InternalUrl https://Contoso.com/mapi -IISAuthenticationMethods Negotiate
    
  2. Certificate configuration   The digital certificate used by your Exchange environment must include the same InternalURL and ExternalURL values that are defined on the MAPI virtual directory. For more information on Exchange 2013 certificate management, see Digital certificates and SSL. Make sure the Exchange certificate is trusted on the Outlook client workstation and that there are no certificate errors, especially when you access the URLs configured on the MAPI virtual directory.

  3. Update server rules   Verify that your load balancers, reverse proxies, and firewalls are configured to allow access to the MAPI over HTTP virtual directory.

  4. Enable MAPI over HTTP in your Exchange Organization

    NoteNote:
    If you enable MAPI over HTTP in your organization, Outlook 2013 SP1 clients that connect through Exchange 2013 SP1 Client Access servers might not be able to access public folders in the same forest on Exchange 2010 or Exchange 2007 servers. Don’t enable MAPI over HTTP in your organization until the public folders have been migrated to Exchange 2013 servers. For more information, see the Release notes for Exchange 2013.
    After running the command below, clients using Outlook 2013 SP1 with MAPI over HTTP enabled will see a message to restart Outlook to use MAPI over HTTP.

    Run the following command:

    Set-OrganizationConfig -MapiHttpEnabled $true
    

You can test the end-to-end MAPI over HTTP connection by using the Test-OutlookConnectivity cmdlet. To use the Test-OutlookConnectivity cmdlet, the Microsoft Exchange Health Manager (MSExchangeHM) service must be started.

The following example tests the MAPI over HTTP connection from the Exchange server named ContosoMail.

Test-OutlookConnectivity -RunFromServerId ContosoMail -ProbeIdentity OutlookMapiHttpSelfTestProbe

A successful test returns output that's similar to the following example:

MonitorIdentity                                          StartTime              EndTime                Result      Error     Exception
---------------                                          ---------              -------                ------      -----     ---------
OutlookMapiHttp.Protocol\OutlookMapiHttpSelfTestProbe    2/14/2014 7:15:00 AM   2/14/2014 7:15:10 AM   Succeeded

For more information, see Test-OutlookConnectivity.

Logs for MAPI over HTTP activity are at the following locations:

  • %ExchangeInstallPath%Logging\MAPI Address Book Service\

  • %ExchangeInstallPath%Logging\MAPI Client Access\

  • %ExchangeInstallPath%Logging\HttpProxy\Mapi\

You can manage the configuration of MAPI over HTTP by using the following cmdlets:

 
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft