测试 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) 网址的主要内容,如果未能解决你的问题,请参考以下文章
使用 TokenCredentials 的 Exchange Web 服务 (EWS) 单点登录?
导入 Exchange Web 服务 (EWS) wsdl 文件时如何修复未解析的类型?
当我的应用程序托管在 IIS 上时,Microsoft Exchange Web 服务 (EWS) 无法正常工作