繁体   English   中英

Exchange 401未经授权

[英]Exchange 401 Unauthorized

我正在尝试连接到我们的Exchange 2007服务器。 我放置了很多异常处理来捕获任何错误,并将它们放入应用程序日志中。 首先,我有一个确保用户可以使用提供的凭据访问交换服务的功能:

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. Request failed. The remote server returned an error: (401) Unauthorized. 堆栈跟踪指向service.FindItems()函数。

因此,我有些困惑,可能对交换或Web服务或其他任何知识都不了解。 登录函数返回true,但是随后授权失败。 有什么建议么?

您的凭据有可能使您可以访问发件箱,但不能访问日历?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM