这让我疯狂。我一直在使用以下c#代码使用Exchange Web服务从本地Exchange邮箱中提取邮件:
es = new ExchangeService(ExchangeVersion.Exchange2013_SP1)
{
Credentials = new WebCredentials(ConfigurationManager.AppSettings["User"].ToString(),
ConfigurationManager.AppSettings["Password"].ToString(),
ConfigurationManager.AppSettings["Domain"].ToString())
};
//es.TraceEnabled = true;
es.AutodiscoverUrl(ConfigurationManager.AppSettings["MailBox"].ToString(), (a) => { return true; });
以前的四个帐户都可以正常使用。对于我要求创建的最新帐户,我收到了可怕的错误:
无法找到自动发现服务。
我们的交易所人员已经发誓,新账户和其他账户之间没有区别。但必须有不同的东西,对吗?有谁知道它可能是什么?
我激活了上面的跟踪线以在控制台窗口中输出(代码在控制台应用程序中)。虽然我可以发布失败帐户的整个跟踪,但以下是工作帐户和非工作帐户的响应标头。 (服务器名称已更改。)
好帐户
<Trace Tag="AutodiscoverResponseHttpHeaders" Tid="1" Time="2018-01-29 21:24:45Z">
HTTP/1.1 200 OK
request-id: d291efce-7958-4faa-abbb-35c020f2780e
X-CalculatedBETarget: abc123.xrdom.xrcompany.firm
X-DiagInfo: abc123
X-BEServer: abc123
Persistent-Auth: true
X-FEServer: server02
Vary: Accept-Encoding
Transfer-Encoding: chunked
Cache-Control: private
Content-Type: text/xml; charset=utf-8
Date: Mon, 29 Jan 2018 21:24:44 GMT
Set-Cookie: X-BackEndCookie=S-1-5-21-3649160047-1147056544-736230609-28825=u56Lnp2ejJqBm52cnsbJzJrSns3LxtLLns3G0saax5vSzM/LxpvHm8fJypqZgYHNz87H0s/N0s3Hq83Oxc3LxcvK; expires=Wed, 28-Feb-2018 21:24:45 GMT; path=/autodiscover; secure; HttpOnly
Server: Microsoft-IIS/8.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
</Trace>
坏账号:
<Trace Tag="AutodiscoverResponseHttpHeaders" Tid="1" Time="2018-01-29 21:21:49Z">
HTTP/1.1 401 Unauthorized
request-id: 99dfa551-c4c2-441b-a317-4f4fcba21a62
Server: Microsoft-IIS/8.5
WWW-Authenticate: Negotiate,NTLM,Basic realm="mail.xrcompany.com"
X-Powered-By: ASP.NET
X-FEServer: server01
Date: Mon, 29 Jan 2018 21:21:48 GMT
Content-Length: 0
</Trace>
除了OK与未授权代码之外,对我来说是什么,是X-REServer的不同值。
任何帮助都将不胜感激。
答案 0 :(得分:0)
当我发现问题和解决方案时,完全忘了关闭它。
创建新帐户时,未正确命名。当我要求更改名称时,只更改了显示名称而不是登录名。一旦主要名称也被纠正,他们一切都有效。