测试 Exchange Web 服务 (EWS) 网址

Posted

技术标签:

【中文标题】测试 Exchange Web 服务 (EWS) 网址【英文标题】:Testing Exchange Web Service (EWS) url 【发布时间】:2011-07-06 16:20:43 【问题描述】:

我有 UI,我让用户输入 URL,我可以在其中找到 Exchange Web 服务 (EWS)。我的应用程序使用 EWS 来获取忙/闲信息,但我的配置工具只需要为用户设置它。

现在我只是询问主机名并从那里建立 URL。例如,他们输入 example.org 作为主机,我从那里构建 https://example.org/EWS/Exchange.asmx

我想添加一个测试按钮,以确保他们输入的主机可以被他们正在配置的机器访问。但我不确定测试服务需要多简单或多复杂。

我可以做任何 noop 或绑定来确保我可以与 EWS 建立通信吗?

类似:

var serviceUri = new Uri(_textBoxEwsUrl.Text));
var exchangeService = new ExchangeService();
exchangeService.Url = serviceUri;

// what can I call here to test that I can talk to the exchangeService?
exchangeService.????

【问题讨论】:

【参考方案1】:

绑定到用户邮件地址的收件箱文件夹。当然,你需要他的凭据。

【讨论】:

【参考方案2】:

任何导致与服务器通信的操作都可以用作测试。如果您的 url 或凭据不正确,简单绑定到任何文件夹或项目都会引发 ServiceRequestException 或某种不同类型的异常。

示例代码:

try

    var inbox = Folder.Bind(service, WellKnownFolderName.Inbox);

catch(ServiceRequestException e)

    //handle exception in some way

【讨论】:

以上是关于测试 Exchange Web 服务 (EWS) 网址的主要内容,如果未能解决你的问题,请参考以下文章

EWS(Exchange Web 服务)出现未经授权的错误

使用 TokenCredentials 的 Exchange Web 服务 (EWS) 单点登录?

导入 Exchange Web 服务 (EWS) wsdl 文件时如何修复未解析的类型?

当我的应用程序托管在 IIS 上时,Microsoft Exchange Web 服务 (EWS) 无法正常工作

Exchange Web 服务 (EWS) - 如何识别会议参与者是邮件组还是个人参与者

需要一种使用 EWS Web 服务 (SOAP) 查找 Exchange 产品版本的方法