如何缩小此 ASP.NET ASMX 到 Exchange 2010 托管 API 设置中的故障点?

Posted

技术标签:

【中文标题】如何缩小此 ASP.NET ASMX 到 Exchange 2010 托管 API 设置中的故障点?【英文标题】:How can I narrow down the point of failure in this ASP.NET ASMX to Exchange 2010 Managed API setup? 【发布时间】:2010-06-24 15:32:53 【问题描述】:

由于使用 Exchange Web Services 2010 有点荒谬,尤其是从 .NET 以外的任何东西中,我的任务是在 SOAP Web 服务中封装一些功能,作为其他语言交互的传递使用我们的 Exchange 环境。

[Misc] ASP.NET ASMX Web 服务 Exchange2010

为了不要求用户为每个操作输入密码,我们使用模拟帐户,因此我们只需要我们要修改的帐户的帐户名。

这一切都很好。 使用其中一个模拟帐户。 模拟帐户与 api 密钥具有 1:1 的关系,以简化审核。我们设置的其他模拟帐户似乎与工作帐户完全相同,只是名称和密码不同,但当我们尝试从 EWS 托管 API 使用它们时,我们会收到以下错误:

请求失败。远程服务器返回错误:(401) Unauthorized.

堆栈跟踪:

at Microsoft.Exchange.WebServices.Data.ServiceRequestBase.InternalExecute()
at Microsoft.Exchange.WebServices.Data.MultiResponseServiceRequest`1.Execute()
at Microsoft.Exchange.WebServices.Data.ExchangeService.BindToFolder(FolderId folderId, PropertySet propertySet)
at Microsoft.Exchange.WebServices.Data.ExchangeService.BindToFolder[TFolder](FolderId folderId, PropertySet propertySet)
at Microsoft.Exchange.WebServices.Data.Folder.Bind(ExchangeService service, FolderId id, PropertySet propertySet)
at Microsoft.Exchange.WebServices.Data.Folder.Bind(ExchangeService service, WellKnownFolderName name)
at WhartonEWS.GetEmailUnreadCount(String apiKey, String emlUserAddress) in c:\workspace\dotnet\EWS\v1\App_Code\EWS.cs:line 357

正如我所说,当使用与某个其他模拟帐户对应的 API 密钥时,同样的代码可以正常工作;如果我将非工作 api 密钥设置为使用工作模拟帐户,则 api 密钥开始工作。

由于一个帐户有效而另一个无效,我认为这意味着问题不在于我的 Web 服务代码,而在于模拟帐户设置或存在于 Web 和 Web 之间的某种配置交换服务器。但如果是服务器之间的配置,我认为这会阻止所有帐户工作。

同时,我们有一些我认为非常称职的交易所管理员,其中至少有两个人查看了模拟账户并得出结论,他们不是问题。

我们可以从这里去哪里?我想一种可能的解决方案是通过工作模拟帐户引导所有请求并处理审计影响,但如果我们可以避免这种情况,我们愿意这样做。有什么想法吗?

【问题讨论】:

【参考方案1】:

Exchange 服务器本身有一些诊断日志记录设置,一个专门用于“MSExchange Web 服务”。您可以咨询您的 Exchange 管理员,看看他们是否愿意打开它,也许您可​​以从这些日志中获得更多帮助。

【讨论】:

【参考方案2】:

事实证明,问题在于模拟帐户配置。不过,我不知道 Exchange 管理员是如何发现这一点的。

【讨论】:

以上是关于如何缩小此 ASP.NET ASMX 到 Exchange 2010 托管 API 设置中的故障点?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Retrofit 在 android 中调用图像上传 Web 服务 (ASP.NET) .asmx 文件

asp.net WebService如何去掉asmx后缀

如何使用 Asp.net 设置 .asmx webservice 启用跨域

如何使用jQuery调用带有参数的asp.net asmx web服务来获取响应

jQuery Ajax 到 asp.net asmx web 服务抛出请求格式无效:application/json

Asp.net 以 kb 为单位缩小图像大小