小编ali*_*eiu的帖子

401 NTLM 身份验证错误后未经授权:意外状态:MSG_TYPE1_GENERATED

我想知道错误消息MSG_TYPE1_GENERATEDMSG_TYPE3_GENERATED(来自httpClient/NTLMScheme.State枚举)表示帮助调试我们遇到的问题。有人可以提供这些错误的文档吗?

我有一个服务器应用程序,它使用ews-java-api 2.0连接到配置了NTLM 身份验证Exchange Server 2016   我已经配置了HttpClient版本4.5.2。服务器应用程序使用 Exchange 服务帐户从 Exchange 服务器检索房间和会议。房间和会议已成功检索,但在成功运行一段时间后,我在日志中看到以下错误:  

ERROR org.apache.http.impl.auth.HttpAuthenticator - NTLM authentication error: Unexpected state: MSG_TYPE3_GENERATED
Run Code Online (Sandbox Code Playgroud)

  此错误之后是一些从 Exchange Server 收到的 401 未经授权的错误,应用程序在重新启动之前永远不会从此 401 错误中恢复(这通常每天发生几次)。

Caused by: microsoft.exchange.webservices.data.core.exception.http.HttpErrorException: The remote server returned an error: (401)Unauthorized
                at microsoft.exchange.webservices.data.core.request.ServiceRequestBase.getEwsHttpWebResponse(ServiceRequestBase.java:726)
                at microsoft.exchange.webservices.data.core.request.ServiceRequestBase.validateAndEmitRequest(ServiceRequestBase.java:640)
                ... 34 more
 
Run Code Online (Sandbox Code Playgroud)

我不确定它是否与这个问题有关,但有时在MSG_TYPE3_GENERATED错误日志之后,我看到很多超时:  

 Caused by: java.net.SocketTimeoutException: Read timed out
                    at java.net.SocketInputStream.socketRead0(Native Method)
                    at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
                    at java.net.SocketInputStream.read(SocketInputStream.java:170)
                    at …
Run Code Online (Sandbox Code Playgroud)

authentication ntlm apache-httpclient-4.x ewsjavaapi

5
推荐指数
0
解决办法
1305
查看次数