首页 文章

调用Exchange Web服务时出现401错误

提问于
浏览
3

创建将连接到Exchange Web服务并检索当前用户的收件箱项目的网页 . 需要集成身份验证 . 我们不希望任何人登录 .

配置IIS以执行Windows身份验证并在web.config中设置以下参数 .

这使它工作,但只有在托管它的服务器上调用网站 . 如果我在另一个工作站上调用相同的URL,我会(401)未经授权 .

如果页面在主机服务器上执行时正确地对交换进行了验证,那么当从客户端工作站调用同一页面时,为什么同样的事情不起作用?两种情况下,windows / domain登录用户ID都相同 . 下面是代码如何针对Exchange进行身份验证 .

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
service.Url = new Uri("https://hostname/EWS/Exchange.asmx");
service.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;

有没有人知道这可能是罪魁祸首?谢谢!

2 回答

  • 0

    尝试使用:

    service.Credentials = new WebCredentials("user", "passwordd", "domain");
    

    它应该工作 .

  • 0

    (401)未经授权的错误意味着您无法登录,因为用户名和密码错误 . 你应该这样试试

    ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
            service.Credentials = new NetworkCredential(username, password);
            service.TraceEnabled = true;
    
    
            service.Url = new Uri("https://hostname/EWS/Exchange.asmx");
            ExportMIMEEmail(service, count); //call to export mails;
    

    上面的代码对我有用

相关问题