Web services Exchange Web服务,请尝试使用ExchangeImpersonationType

Web services Exchange Web服务,请尝试使用ExchangeImpersonationType,web-services,exchange-server,impersonation,exchangewebservices,Web Services,Exchange Server,Impersonation,Exchangewebservices,我正在尝试使用EWS,这是我第一次尝试使用ExchangeServiceBinding。我使用的代码如下: _service = new ExchangeServiceBinding(); //_service.Credentials = new NetworkCredential(userName, userPassword, this.Domain); _service.Credentials = System.Net.CredentialCache.DefaultNetworkCreden

我正在尝试使用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。我尝试使用模拟,因为我不知道登录用户的域密码,所以我认为模拟是最合适的。关于我如何利用模仿有什么想法吗?如果设置正确,则在尝试运行应用程序时出错。我也尝试不模仿,只是想看看我是否可以创建一个任务,也没有运气。任何帮助都将不胜感激。谢谢

如果没有更广泛的代码剪接上下文,我无法确定哪里出了问题,但以下是一些您可能会发现有用的东西

你提到你在没有模仿的情况下很难连接。 我假设您使用的是ExchangeServer2007SP1,是吗

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

至于交换假扮,

  • 是否已在客户端访问服务器(CAS)上设置权限以启用模拟
  • 是否对邮箱或邮箱数据库(包含您试图访问的邮箱)设置了权限
  • 您是否处于需要额外信任关系的跨林场景中
如果没有,这也许可以解释为什么你无法连接

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

  • 配置()
  • 使用Exchange模拟()
  • 访问多个资源邮箱()