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

3
创建一个网页,该网页将连接到Exchange Web服务并检索当前用户的收件箱项目。需要集成身份验证。我们不希望任何人登录。
已配置IIS进行Windows身份验证,并在web.config中设置以下参数。这样做可以使其正常工作,但仅当网站在托管它的服务器上被调用时才有效。如果我在另一台工作站上调用完全相同的URL,则会收到(401)未经授权的错误。
如果页面在主机服务器上执行时正确地对Exchange进行身份验证,那么为什么从客户端工作站调用相同的页面时不起作用呢?在两种情况下,Windows/域登录用户ID都是相同的。以下是代码如何对Exchange进行身份验证。
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
service.Url = new Uri("https://hostname/EWS/Exchange.asmx");
service.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;

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

可能是Exchange Web Service API和401未经授权的异常的重复问题。 - Shadow The Spring Wizard
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;

上述代码对我而言是有效的


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接