Exchange 2007 서버에 연결하려고합니다. 나는 많은 오류를 잡아서 응용 프로그램 로그에 넣기 위해 많은 예외 처리를 수행했습니다. ,Exchange 401 Unauthorized
public bool Logon() { string pwd = /*Get password*/; try { service.Credentials = new WebCredentials( username + "@our.domain", pwd); service.FindItems(WellKnownFolderName.Outbox, new ItemView(1)); } catch (Exception) { return false; } return true; }
이 함수가 false를 돌려주는 경우, 항목이 사용자가 로그인하지 못했음을보고 응용 프로그램 로그에 배치됩니다 : 첫째, 나는 사용자가 제공 한 자격 증명을 교환 서비스에 액세스 할 수 있도록하는 기능을 가지고 프로세스는 종료된다.
함수가 성공하면이 함수를 호출하는 트랙의 어딘가에 있습니다. 그 다음 10 분 시작하는 사용자에 대한 모든 약속을 가져옵니다 당신이 볼 수 있듯이, 함수가 모든 예외를 포착하고이를 기록합니다
protected List GetFutureAppointments() { try { SearchFilter.IsGreaterThanOrEqualTo startTime = new SearchFilter.IsGreaterThanOrEqualTo( AppointmentSchema.Start, DateTime.Now); SearchFilter.IsLessThanOrEqualTo endTime = new SearchFilter.IsLessThanOrEqualTo( AppointmentSchema.Start, DateTime.Now.AddMinutes(10)); SearchFilter filter = new SearchFilter.SearchFilterCollection(LogicalOperator.And, new SearchFilter[] { startTime, endTime }); FindItemsResults results = service.FindItems( WellKnownFolderName.Calendar, filter, new ItemView(10)); return new List(results.Items); } catch (Exception e) { Utilities.LogException(e); return null; } }
. 로그에 표시는 Request failed. The remote server returned an error: (401) Unauthorized.
입니다. 스택 추적은 service.FindItems()
기능을 가리 킵니다.
그래서 약간 혼란스러워서 아마도 교환이나 웹 서비스 또는 기타에 대해 충분히 알지 못합니다. 로그온 함수가 true를 반환하지만 나중에 권한 부여가 실패합니다. 어떤 제안?
흠, 가능합니다. 우리 기술 팀에 물어보고 다시 연락 할 것입니다. – Anthony