java - 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
解决方案
推荐阅读
- android - ConstraintLayout 组与层
- copy - 无法使用 docker 文件运行复制命令
- apache-spark - 如何解决火花“错误:缺少参数类型”中的此错误
- r - 用第二个数据框中定义的类别替换数据框列名称的公式
- swift - swift中嵌套的主要表达式
- pointers - 在函数式语言中,不变性的概念如何应用于内存中的地址?
- sql - 检查 BLOB 中 Oracle SQL 语句的表访问
- python - Python - 在字典中添加值
- mysql - MySQL CSV 导入的年份日期为 0018 无效日期
- c - 我不断收到有关传递参数的警告,使指针从整数而不进行强制转换