首页 > 解决方案 > Apache HTTP 客户端 - 带有格式错误的质询的 401 错误:乱序 NTLM 响应消息警告

问题描述

我们在我们的应用程序中面临一个问题,当同时使用 HTTP 客户端发出两个 HTTP 请求时,有时即使通过了有效的 NTLM 身份验证,其中一个也会返回 401。

以下是我们日志的摘录

2019-09-07 16:12:27.620  INFO [nio-8087-exec-9] i.c.d.c.f.s.services.SharePointService   : Executing request: http://xxxxxx/sites/utp/_api/web/GetFolderByServerRelativeUrl('/sites/utp/Shared%20Documents/InstanceDocuments/41931/Input/uTW0DIz5dR') with headers: [Accept: application/json; odata=verbose, Content-Type: application/json; odata=verbose, X-RequestDigest: 0xA03754C393422E3EEFB176F804EAF942411EB26E7DF7270C8B4421203671D101077D103C54303961FEE57F5878A3248D53909B39CDD9EC6AB30D38A6FCBB8255,07 Sep 2019 10:28:34 -0000]
2019-09-07 16:12:27.621  INFO [nio-8087-exec-3] i.c.d.c.f.s.services.SharePointService   : Executing request: http://xxxxxx/sites/utp/_api/web/GetFolderByServerRelativeUrl('/sites/utp/Shared%20Documents/InstanceDocuments/41931/Output/euigNyrkQ8')/Files with headers: [Accept: application/json; odata=verbose, Content-Type: application/json; odata=verbose, X-RequestDigest: 0xA03754C393422E3EEFB176F804EAF942411EB26E7DF7270C8B4421203671D101077D103C54303961FEE57F5878A3248D53909B39CDD9EC6AB30D38A6FCBB8255,07 Sep 2019 10:28:34 -0000]
2019-09-07 16:12:27.638  WARN [nio-8087-exec-3] o.a.http.impl.auth.HttpAuthenticator     : Malformed challenge: Out of sequence NTLM response message
2019-09-07 16:12:27.638  INFO [nio-8087-exec-9] i.c.d.c.f.s.services.SharePointService   : Got response from URI: http://xxxxxx/sites/utp/_api/web/GetFolderByServerRelativeUrl('/sites/utp/Shared%20Documents/InstanceDocuments/41931/Input/uTW0DIz5dR') with status: 404
2019-09-07 16:12:27.639  INFO [nio-8087-exec-3] i.c.d.c.f.s.services.SharePointService   : Got response from URI: http://xxxxxx/sites/utp/_api/web/GetFolderByServerRelativeUrl('/sites/utp/Shared%20Documents/InstanceDocuments/41931/Output/euigNyrkQ8')/Files with status: 401

如上面的日志所示,第一个请求由线程 9 发送,第二个请求由线程 3 在 1 毫秒后发送。我们在线程 3 中收到警告,然后打印来自线程 9 的响应,然后返回错误 401。

警告说

格式错误的质询:乱序 NTLM 响应消息

请注意,404 是我们应用程序的有效响应。

目前,我们不确定这是 apache httpclient 库中的并发问题还是与服务器端配置有关。

Apache HTTP 客户端版本:4.5.5 目标服务器是 SharePoint 2013

标签: javaapacheapache-httpclient-4.x

解决方案


推荐阅读