Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#EWS API-在不同于配置帐户访问的服务器的Exchange服务器上访问项目_C#_.net_Api_Exchange Server_Exchangewebservices - Fatal编程技术网

C#EWS API-在不同于配置帐户访问的服务器的Exchange服务器上访问项目

C#EWS API-在不同于配置帐户访问的服务器的Exchange服务器上访问项目,c#,.net,api,exchange-server,exchangewebservices,C#,.net,Api,Exchange Server,Exchangewebservices,我在Exchange ServerA上创建了一个帐户,我正在尝试访问Exchange ServerB上配置的共享邮箱X上的项目。我拥有访问邮箱X所需的权限,我可以使用MS Outlook进行访问,但无法使用EWS管理的API进行访问。我使用了以下代码: ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1); service.Credentials = new WebCredentials("

我在Exchange Server
A
上创建了一个帐户,我正在尝试访问Exchange Server
B
上配置的共享邮箱
X
上的项目。我拥有访问邮箱
X
所需的权限,我可以使用MS Outlook进行访问,但无法使用EWS管理的API进行访问。我使用了以下代码:

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
service.Credentials = new WebCredentials("user.name@organization.com", "password");
service.Url = new Uri("https://organization.com/EWS/Exchange.asmx");
Mailbox somemailbox = new Mailbox("some.mailbox@organization.com");
FolderId folderInbox = new FolderId(WellKnownFolderName.Inbox, somemailbox);
FindFoldersResults findResults = service.FindFolders(folderInbox, new FolderView(int.MaxValue));
这将返回一个错误:
“访问资源的帐户必须与正在访问的代理帐户位于同一邮箱服务器版本上。”
指向代码的最后一行(service.FindFolders)

起初我认为服务器的版本不兼容,但当我将代码第1行中的
ExchangeVersion
更改为“Exchange2007\u SP1”以外的任何版本时,我收到错误消息
Exchange Server不支持请求的版本。
,因此我猜这不是与版本相关的问题。我想在这种情况下,我将无法使用MS Outlook进行连接,因为它工作正常


我想我遗漏了一些非常简单的东西,但我不知道是什么…

问题是您连接到主服务器。如果要访问代理帐户,必须将ews url更改为存储邮箱的服务器的ews地址。在我的公司里,我有几乎相同的场景,不同的URL对我来说效果很好。如果exchange服务器的共同配置正确,则可以使用托管api的自动发现函数“service.autodiscover()”来获取正确的ews地址

A&B的具体版本是什么?我明白你的意思,Jurgen,但我使用自动发现查找ews url,我的帐户服务器和处理共享邮箱的服务器有两个不同的url。脚本中提供的URI是正确的—我尝试了自动发现方法,使用两个服务器的硬编码URI,结果总是相同的。。。