private static void CreateUserConfiguration(StoreRetentionPolicyTagHelper tagHelper) { byte[] xmlData = MrmFaiFormatter.Serialize(tagHelper.TagData, tagHelper.defaultArchiveTagData, tagHelper.deletedTags, tagHelper.retentionHoldData, tagHelper.fullCrawlRequired, tagHelper.exchangePrincipal); CreateUserConfigurationType createUserConfiguration = new CreateUserConfigurationType { UserConfiguration = new UserConfigurationType { UserConfigurationName = new UserConfigurationNameType { Name = "MRM", Item = new DistinguishedFolderIdType { Id = DistinguishedFolderIdNameType.inbox } }, XmlData = xmlData } }; StoreRetentionPolicyTagHelper.CallEwsWithRetries(() => tagHelper.serviceBinding.CreateUserConfiguration(createUserConfiguration), delegate(ResponseMessageType responseMessage, int messageIndex) { if (responseMessage.ResponseClass == ResponseClassType.Success) { ExTraceGlobals.ELCTracer.TraceDebug(0L, "Successfully created MRM user configuration"); return true; } ExTraceGlobals.ELCTracer.TraceDebug(0L, "MRM user configuration was not created"); return false; }, tagHelper); }
/// <summary> /// Log on to a mailbox with a specified user account and create an user configuration objects on inbox folder. /// </summary> /// <param name="userName">The name of the user used to communicate with server</param> /// <param name="password">The password of the user used to communicate with server</param> /// <param name="domain">The domain of the user used to communicate with server</param> /// <param name="userConfigurationName">Name of the user configuration object.</param> /// <returns>If succeed, return true; otherwise, return false.</returns> public bool CreateUserConfiguration(string userName, string password, string domain, string userConfigurationName) { userConfigurationName = userConfigurationName.Replace("_", string.Empty); this.exchangeServiceBinding.Credentials = new System.Net.NetworkCredential(userName, password, domain); CreateUserConfigurationType request = new CreateUserConfigurationType(); request.UserConfiguration = new UserConfigurationType(); request.UserConfiguration.UserConfigurationName = new UserConfigurationNameType(); request.UserConfiguration.UserConfigurationName.Name = userConfigurationName; DistinguishedFolderIdType distinguishedFolderId = new DistinguishedFolderIdType(); distinguishedFolderId.Id = DistinguishedFolderIdNameType.inbox; request.UserConfiguration.UserConfigurationName.Item = distinguishedFolderId; CreateUserConfigurationResponseType response = this.exchangeServiceBinding.CreateUserConfiguration(request); return(response.ResponseMessages.Items[0].ResponseClass == ResponseClassType.Success && response.ResponseMessages.Items[0].ResponseCode == ResponseCodeType.NoError ? true : false); }
// Token: 0x06000578 RID: 1400 RVA: 0x00029A2C File Offset: 0x00027C2C public void CreateMrmConfiguration(BaseFolderIdType folderId, byte[] userConfiguration) { CreateUserConfigurationType createUserConfiguration = new CreateUserConfigurationType { UserConfiguration = new UserConfigurationType { UserConfigurationName = new UserConfigurationNameType { Name = "MRM", Item = folderId }, XmlData = userConfiguration } }; this.CallService(() => this.ServiceBinding.CreateUserConfiguration(createUserConfiguration), delegate(ResponseMessageType responseMessage, int messageIndex) { if (responseMessage.ResponseClass == ResponseClassType.Error) { throw new ElcEwsException(ElcEwsErrorType.FailedToCreateUserConfiguration, responseMessage.ResponseCode.ToString() + " : " + responseMessage.MessageText); } return(false); }, (Exception exception) => ElcEwsClient.WrapElcEwsException(ElcEwsErrorType.FailedToCreateUserConfiguration, exception)); }