MRM does not work for mailboxes that have an online archive mailbox in Exchange Server

Applies to: Exchange Server 2016Exchange Server 2013

Symptoms


Considering the following scenario:

  • You configure Microsoft Exchange Online Archiving in a Microsoft Exchange Server 2016 or 2013 environment.
  • You configure a server that is running Exchange Server to use a proxy to connect to Office 365 (without a direct access).
  • You create a retention policy, and then you apply the policy to a user’s mailbox in the on-premises Exchange organization.
  • You run the Start-ManagedFolderAssistant cmdlet to start Messaging Records Management (MRM) processing for the mailbox.

In this scenario, MRM does not work correctly for the mailbox.

Cause


This issue occurs because the web proxy is not set when the server that is running Exchange Server tries to connect to Office 365. Therefore, the cloud-based archive mailbox cannot be found by Exchange Server, and MRM stops processing the mailbox.

Status


Microsoft is aware of this issue and plans to fix it in a future cumulative update for Exchange Server 2016. If you are using Exchange Server 2013, we recommend that you upgrade to Exchange Server 2016 to be able to receive the resolution to this issue. 

More information


You may receive an exception that resembles the following example when you run the Export-MailboxDiagnosticLogs cmdlet against this mailbox:

Export-MailboxDiagnosticLogs "MailboxAlias" -ComponentName MRM | FL > C:\location\MBXDiag.txt

----------Call Stack from MRM Details--------------------
 
Microsoft.Exchange.MailboxAssistants.Assistants.ELC.ElcEwsException: ELC EWS failed with error type: 'ArchiveExchangeWebServiceNotAvailable'. Message: Archive EWS url is unknown.
 at Microsoft.Exchange.MailboxAssistants.Assistants.ELC.RemoteArchiveProcessorBase..ctor(MailboxSession mailboxSession, ADUser user, StatisticsLogEntry statisticsLogEntry, Boolean isCrossPremise, Boolean isTestMode, MailboxesInformation archiveMailboxesInformation)
 at Microsoft.Exchange.MailboxAssistants.Assistants.ELC.ArchiveProcessorFactory.Create(ArchiveLocation archiveLocation, MailboxSession mailboxSession, ADUser adUser, StatisticsLogEntry statisticsLogEntry, Boolean isTestMode, MailboxesInformation archiveMailboxesInformation)
 at Microsoft.Exchange.MailboxAssistants.Assistants.ELC.MailboxData.get_ArchiveProcessor()
 at Microsoft.Exchange.MailboxAssistants.Assistants.ELC.ElcUserTagInformation.SaveConfigItem(MailboxDataForTags mailboxDataForTags)
 at Microsoft.Exchange.MailboxAssistants.Assistants.ELC.TagProvisioner.InvokeInternal(MailboxDataForTags mailboxDataForTags)
 at Microsoft.Exchange.MailboxAssistants.Assistants.ELC.TagProvisioner.Invoke(MailboxDataForTags mailboxDataForTags)
 at Microsoft.Exchange.MailboxAssistants.Assistants.ELC.ElcTagSubAssistant.InvokeInternal(MailboxSession mailboxSession, MailboxDataForTags mailboxDataForTags)
 at Microsoft.Exchange.MailboxAssistants.Assistants.ELC.ElcTagSubAssistant.Invoke(MailboxSession mailboxSession, MailboxDataForTags mailboxDataForTags)
 at Microsoft.Exchange.MailboxAssistants.Assistants.ELC.ELCAssistant.InvokeCore(MailboxSession mailboxSession, List`1 customDataToLog, StatisticsLogEntry logEntry, ElcParameters parameters)
 at Microsoft.Exchange.MailboxAssistants.Assistants.ELC.ELCAssistant.<>c__DisplayClass30_0.<InvokeInternalAssistant>b__1()
 at Microsoft.Exchange.Common.IL.ILUtil.DoTryFilterCatch(Action tryDelegate, Func`2 filterDelegate, Action`1 catchDelegate)