【发布时间】:2019-06-15 04:43:14
【问题描述】:
我正在尝试使用 ExchangeService.AutodiscoverUrl() 方法,但它不起作用。它似乎没有获取 URL,导致来自 ExchangeCredentials.GetUriWithoutSuffix 的错误“无法读取未定义的属性 'AbsoluteUri'”。
这是我的代码('c' 只是一个 json 对象):
service = new EwsJS.ExchangeService(EwsJS.ExchangeVersion.Exchange2016);
service.Credentials = new EwsJS.ExchangeCredentials(c.UserName, c.Password);
service.AutodiscoverUrl("email@domain.com", RedirectCallback);
// I'm forcing the accepted redirect here.
function RedirectCallback(url) {
return true;
}
【问题讨论】:
-
我想我找到了问题所在。在自动发现 GET 调用期间未将授权标头添加到 xhrOptions,这会导致结果为空,而不是有效的端点 URL。深入研究代码发现它正在尝试查找“... svc”代替。这是一个错误吗?是否有强制自动发现始终使用 Soap Http 而不是 Legacy Http 端点的解决方法?
-
由于某种原因,凭据未传递给自动发现服务,这导致未处理的 401 错误。考虑到我发现的这行代码,我猜这是问题的一部分:“//todo - 优化代码,需要在失败的错误中应用逻辑,因为 401 go to onerror of xhr;”如何确保将凭据传递给 GET 请求?或者这是一个不可用的功能?