Apache HttpClient 4.1.1 Аутентификация NTLM, а не SPNEGO

Проблема заключается в использовании веб-ресурса с аутентификацией NTLM при использовании Apache HttpClient на стороне клиента. Проблема, с которой я столкнулся, заставляет клиента использовать аутентификацию NTLM. вот пример кода.

DefaultHttpClient httpclient = new DefaultHttpClient();
httpclient.getAuthSchemes().register("ntlm",new NTLMSchemeFactory());
NTCredentials creds = new NTCredentials("_myUSer_","_myPass_","_myWorkstation_","_myDomain_");
httpclient.getCredentialsProvider().setCredentials( new AuthScope("serverName",80), creds);
List<String> authpref = new ArrayList<String>();
authpref.add(AuthPolicy.NTLM);
httpclient.getParams().setParameter(AuthPNames.PROXY_AUTH_PREF, authpref);
HttpHost target = new HttpHost("serverName", 80, "http");
HttpGet httpget = new HttpGet("webResource");
HttpContext localContext = new BasicHttpContext();
HttpResponse response = httpclient.execute(target, httpget, localContext);

Вот ошибка Java:

org.apache.http.client.protocol.RequestTargetAuthentication process
SEVERE: Authentication error: Invalid name provided (Mechanism level: Could not load configuration file C:\WINDOWS\krb5.ini (The system cannot find the file specified))

Ответ веб-сервера - 401 .

Есть идеи, почему политика аутентификации установлена ​​неправильно? Я что-то упустил в коде?

10
задан skaffman 18 May 2012 в 18:44
поделиться