【问题标题】:Exchange Web Services - The request failed. The remote server returned an error: (413) Request Entity Too LargeExchange Web 服务 - 请求失败。远程服务器返回错误:(413) Request Entity Too Large
【发布时间】:2019-01-02 17:02:59
【问题描述】:

我有这个简单的代码 sn-p,我尝试从特定邮箱获取文件夹

ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true;

ExchangeService service = new ExchangeService();

service.Credentials = new WebCredentials("ADMIN_USER@corp.contoso.com", "********");

Mailbox mb = new Mailbox("chris@corp.contoso.com");
FolderId fid = new FolderId(WellKnownFolderName.MsgFolderRoot, mb); 

// Set the URL.
service.Url = new Uri("https://<exchange>/EWS/Exchange.asmx");

var findResults = service.FindFolders(
    fid,
    new FolderView(int.MaxValue) { Traversal = FolderTraversal.Deep }
);

foreach(var result in findResults)
{
    //result.Load();
    Console.WriteLine(result.DisplayName);
}

之前还好好的,今天早上开始报这个错误

Microsoft.Exchange.WebServices.Data.ServiceRequestException:请求失败。远程服务器返回错误:(413)请求实体太大。 ---> System.Net.WebException:远程服务器返回错误:(413)请求实体太大。

我尝试了不同的方法来解决它 - 主要是通过增加请求实体大小限制,但它没有帮助。我想代码没问题,但需要调整 VM 或 Exchange 配置。请教如何解决,谢谢。

【问题讨论】:

    标签: c# exchangewebservices exchange-server-2016


    【解决方案1】:

    你不应该这样做

    new FolderView(int.MaxValue) { Traversal = FolderTraversal.Deep }
    

    无论如何它都不会起作用,因为 EWS 将返回的最大项目数无论如何都是 1000,因此您应该在代码 https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-perform-paged-searches-by-using-ews-in-exchange 中实现正确的分页,否则当邮件文件夹计数超过 1000 时,您的代码将失败。

    在您调整任何服务器设置之前,我建议您使用 EWS 编辑器https://github.com/dseph/EwsEditor/releases 之类的工具来测试 EWS,如果可以,但您的代码不起作用,那么您知道问题出在源头而不是目的地。很少有你应该更改 Exchange 服务器上的 IIS 设置以处理这种不必要的请求(也许大附件是我唯一能想到的)。所以我会看看最近在该服务器上安装了什么。

    【讨论】:

    • 感谢@Glen 的快速回复。我尝试在FolderView 中使用不同的值,但即使new FolderViev(1) 也会返回413 错误。我也试过你推荐的 EWS 编辑器 - 相同的错误,甚至相同的调用堆栈。请看截图here。除了 Exchange 2016,VM 上没有安装任何东西。我已将其调整为使用远程 powershell - 这就是我所做的所有工作。
    【解决方案2】:

    在我的 Exchange 2013 CU12 中,我调整了 IIS 的 SSL 设置,并得到了来自 Microsoft Remote Connectivity Analyzer 的积极响应。

    在默认网站的 EWS 子文件夹下,我将“SSL 设置”项“客户端证书”从“接受”更改为“忽略”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-05
      • 1970-01-01
      • 1970-01-01
      • 2014-09-15
      • 1970-01-01
      • 1970-01-01
      • 2016-10-25
      相关资源
      最近更新 更多