/// <summary> /// Post-process responses to GetUserSettings. /// </summary> /// <param name="responses">The GetUserSettings responses.</param> private void PostProcessResponses(GetUserSettingsResponseCollection responses) { // Note:The response collection may not include all of the requested users if the request has been throttled. for (int index = 0; index < responses.Count; index++) { responses[index].SmtpAddress = this.SmtpAddresses[index]; } }
public void AutodiscoverGetUserSettings(AutodiscoverService service, string[] sUserSmtpAddresses) { string sRet = string.Empty; txtResults.Text = string.Empty; try { GetUserSettingsResponseCollection response = service.GetUsersSettings( sUserSmtpAddresses.Select(addr => addr.Trim()).Where(addr => addr != ""), System.Enum.GetValues(typeof(UserSettingName)) as UserSettingName[]); if (response.ErrorCode == AutodiscoverErrorCode.NoError) { AutodiscoverResultForm.Show(this, response.Select(r => new AutodiscoverResultForm.AutodiscoverResult(r, service.Url))); } else { sRet += "Response Error:\r\n\r\n"; sRet += " AutodiscoverErrorCode : " + response.ErrorCode.ToString() + "\r\n"; sRet += " Error Message: " + response.ErrorMessage + "\r\n"; } } catch (AutodiscoverLocalException oAutodiscoverLocalException) { sRet += "Caught AutodiscoverLocalException Exception:\r\n\r\n"; sRet += " Error Message: " + oAutodiscoverLocalException.Message + "\r\n"; sRet += " Inner Error Message: " + oAutodiscoverLocalException.InnerException + "\r\n"; sRet += " Stack Trace: " + oAutodiscoverLocalException.StackTrace + "\r\n"; sRet += " See: " + oAutodiscoverLocalException.HelpLink + "\r\n"; } catch (AutodiscoverRemoteException oAutodiscoverRemoteException) { sRet += "Caught AutodiscoverRemoteException Exception:\r\n\r\n"; sRet += " Error Message: " + oAutodiscoverRemoteException.Message + "\r\n"; sRet += " Inner Error Message: " + oAutodiscoverRemoteException.InnerException + "\r\n"; sRet += " Stack Trace: " + oAutodiscoverRemoteException.StackTrace + "\r\n"; sRet += " See: " + oAutodiscoverRemoteException.HelpLink + "\r\n"; } catch (AutodiscoverResponseException oAutodiscoverResponseException) { sRet += "Caught AutodiscoverResponseException Exception:\r\n\r\n"; sRet += " Error Message: " + oAutodiscoverResponseException.Message + "\r\n"; sRet += " Inner Error Message: " + oAutodiscoverResponseException.InnerException + "\r\n"; sRet += " Stack Trace: " + oAutodiscoverResponseException.StackTrace + "\r\n"; sRet += " See: " + oAutodiscoverResponseException.HelpLink + "\r\n"; } catch (ServerBusyException srBusyException) // 2013+ { Console.WriteLine(srBusyException); sRet += "Caught ServerBusyException Exception:\r\n\r\n"; sRet += " BackOffMilliseconds: " + srBusyException.BackOffMilliseconds.ToString() + "\r\n"; sRet += " Error Message: " + srBusyException.Message + "\r\n"; sRet += " Inner Error Message: " + srBusyException.InnerException + "\r\n"; sRet += " Stack Trace: " + srBusyException.StackTrace + "\r\n"; sRet += " See: " + srBusyException.HelpLink + "\r\n"; } catch (Exception ex) { sRet += "Caught Exception:\r\n\r\n"; sRet += " Error Message: " + ex.Message + "\r\n"; sRet += " Inner Error Message: " + ex.InnerException + "\r\n"; sRet += " Stack Trace: " + ex.StackTrace + "\r\n"; sRet += " See: " + ex.HelpLink + "\r\n"; } txtResults.Text = sRet; }