Начиная с Exchange 2013 SP1, мы получили возможность использовать новый протокол: MAPI over HTTP. Еще совсем недавно, его поддержка была только в Outlook 2013, но вот, наконец, было объявлено (по хорошей традиции, дважды : ) о долгожданной поддержке и предыдущей версии клиента. Установив это обновление, мы получаем поддержку и в Outlook 2010.

Итак, давайте перейдем к практике включения протокола, благо сделать это совсем не трудно:

1) Установим .NET framework 4.5.2 для оптимальной производительности  MAPI/HTTP.

2) Проверим, свойства новой директории

Get-MapiVirtualDirectory | ft server, *url*

Нам нужно заполнить пустой External Url:

Get-MapiVirtualDirectory | Set-MapiVirtualDirectory -ExternalUrl https://mail.razbornov.ru/mapi

3) Сделано, теперь просто активируем поддержку протокола со стороны сервера:



Проверим







и включим:

Set-OrganizationConfig -MapiHttpEnabled $true

Все. Теперь Outlook  при запросе авто обнаружения попросит вариант с поддержкой MAPI over HTTP.(X-MapiHttpCapability). И если сервер поддерживает такой протокол, по клиент получит ответ на свой запрос уже с информацией НТТР. Если у клиента два почтовых ящика, один из которых на сервере с RPC/HTTP, а другой с  MAPI over HTTP, то Outlook загрузит сведения об обоих протоколах.







Заметим, что после переключения на новый протокол мы увидим знакомое многим предупреждение:







После применения команд нужно подождать вступления их в силу на стороне сервера, примерно 45 минут. Можно посмотреть в журнале Application о событиях autodiscover. Можно для ускорения процесса перезапустить MS Exchange Host Service и перезапустить пул Autodiscover на мейлбоксах.

Что нужно помнить:







1) Если мы включили поддержку MAPI over HTTP в группе DAG,  где не все серверы поддерживают новый протокол, то клиенты НЕ смогут подключиться к своим ящикам.



2) Клиент, получив новый ответ через авто обнаружение, не буде пытаться использовать "старый" протокол, т.е. никакого downfall не будет. Это нужно крепко помнить, чтобы не было неприятных последствий после развертывания.

Troubleshooting

Где лежат логи нового протокола?

Здесь:

  • CAS: %ExchangeInstallPath%\Logging\HttpProxy\Mapi\
  • Mailbox: %ExchangeInstallPath%\Logging\MAPI Client Access\
  • Mailbox: %ExchangeInstallPath%\Logging\MAPI Address Book Service\

Для проверки подключения быстро можно использовать url подключения, быстро оценив аутентификацию, какой CAS сервер нас аутентифицировал, и место, где лежит наш ящик:



https://razbornov.ru/mapi/emsmdb



Более интересный адрес даст больше диагностической информации:







https://razbornov.ru/mapi/emsmdb/?showdebug=yes



Также помним про Powershell:

 Test-OutlookConnectivity -RunFromServerId Mail -ProbeIdentity OutlookMapiHttpSelfTestProbe







Выводы и полезные ссылки



Безусловно, включение нового протокола имеет плюсы производительности для клиентов и большую гибкость с сетевой точки зрения. Если есть возможность, то, безусловно, включаем - почти год использования дает строго положительный опыт, также нужно задуматься при новом развертывании о включении механизма на старте системы.





http://blogs.technet.com/b/exchange/archive/2014/05/09/outlook-connectivity-with-mapi-over-http.aspx

http://channel9.msdn.com/events/TechEd/NewZealand/2014/OFC311

http://channel9.msdn.com/Series/Implementing-Exchange-Server-2013/05

http://channel9.msdn.com/Events/Open-Specifications-Plugfests/Redmond-Interoperability-Protocols-Plugfest-2013/Exchange-2013-and-MapiHttp

http://channel9.msdn.com/events/TechEd/NorthAmerica/2014/OFC-B216#fbid=

 http://channel9.msdn.com/Series/Implementing-Exchange-Server-2013/05

http://channel9.msdn.com/Events/Open-Specifications-Plugfests/Redmond-Interoperability-Protocols-Plugfest-2013/Outlook-2013-Client-Protocols