Exchange Web服务,尝试使用ExchangeImpersonationType

时间:2008-10-15 20:34:35

标签: web-services exchange-server impersonation exchangewebservices

我正在尝试使用EWS,第一次尝试使用ExchangeServiceBinding。我正在使用的代码如下:

_service = new ExchangeServiceBinding();
//_service.Credentials = new NetworkCredential(userName, userPassword, this.Domain);
_service.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
_service.Url = this.ServiceURL;

ExchangeImpersonationType ei = new ExchangeImpersonationType();
ConnectingSIDType sid = new ConnectingSIDType();
sid.PrimarySmtpAddress = this.ExchangeAccount;
ei.ConnectingSID = sid;            
_service.ExchangeImpersonation = ei;

该应用程序是一个尝试使用EWS创建任务的aspnet 3.5。我试图使用模拟因为我不知道登录用户的域密码,所以我认为模仿是最合适的。关于我如何利用模仿的任何想法?我正确地设置了这个,我在尝试运行我的应用程序时遇到错误。我也尝试过没有冒充只是试图看看我是否可以创造任务,也没有运气。任何帮助,将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

如果没有更广泛的代码片段上下文,我无法确定是什么问题,但这里有一些你可能会觉得有用的东西......

你提到你在没有模仿的情况下连接有困难。 我假设您使用的是Exchange Server 2007 SP1,是吗?

您是否拥有知道用户名和密码的邮箱?如果是这样,请考虑尝试连接到该邮箱,只是为了查看是否可以发送电子邮件或查询收件箱计数。这有助于至少验证您的连接。

关于交换假冒,

  • 是否已在客户端访问服务器(CAS)上设置权限以启用模拟?
  • 是否已在邮箱或邮箱数据库(包含您尝试访问的邮箱)上设置了权限?
  • 您是否处于需要其他信任关系的跨林场景中?

如果没有,这可以解释为什么你无法连接。

您可能会发现一些有用的链接