如何中止HttpRequest?

时间:2016-01-23 13:25:16

标签: java httpclient exchangewebservices abort

我使用FACTS single singleFact(STRING, STRING) CLAUSES singleFact("",""). 来管理HttpClient 4.0.1环境中的客户端连接池。 通常我的系统在使用NTLM进行身份验证时工作正常,但有时它无法正常工作。

使用NTLM进行身份验证时,我们会按以下顺序接收结果代码:HTTP / 1.1 401> HTTP / 1.1 401> HTTP / 1.1 200。 这是正确的过程。

但是,我不知道为什么,有时MS EWS会返回401次结果代码3次:HTTP / 1.1 401> HTTP / 1.1 401> HTTP / 1.1 401。 之后,EWS仅为每个请求返回HTTP / 1.1 200。

帮助您更好地理解..

  • 用户A:401> 401> 200(好)
  • 用户B:401> 401> 200(好)
  • 用户C:401> 401> 401(问题出现)
  • 用户D:200
  • 用户E:200
  • 用户F:200

因此,当问题出现时,UserC,D,E,F ......可以正确使用我们的系统。

以下是我的问题

  1. 为什么EWS在返回401三次后才返回200个代码?
  2. 当我不断收到结果代码HTTP / 1.1 401时,如何中止连接?
  3. 更详细,

    1. 为什么EWS在返回401三次后才返回200个代码?尽管如此,它并不经常发生。验证的用户名和密码是正确的。

    2. 当我收到第三个HTTP / 1.1 401时,如何中止连接? 我使用ThreadSafeClientConnManager,但它不起作用。

    3. 我的代码如下。

      request.abort()

0 个答案:

没有答案