Spring Rest Template NTLM-аутентификация для PostForObject - PullRequest
0 голосов
/ 04 декабря 2018

Может у кого-нибудь есть пример проверки подлинности NTLM для шаблона отдыха или, пожалуйста, дайте мне знать, что я делаю не так?

String[] args ={"username",password","HOST", "DOMAIN"};
restTemplate.setRequestFactory(buildHttpComponentsClientHttpRequestFactory(args));
responseFromCRM = restTemplate.postForObject(crmUserCreateUrl, customerUserProfile, CustomerUserProfile.class);

private static HttpComponentsClientHttpRequestFactory buildHttpComponentsClientHttpRequestFactory(String[] args) {
    PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();
    cm.setMaxTotal(128);
    cm.setDefaultMaxPerRoute(24);

    RequestConfig.Builder requestBuilder = RequestConfig.custom().setConnectTimeout(5000).setSocketTimeout(10000);

    Registry<AuthSchemeProvider> authSchemeRegistry = RegistryBuilder.<AuthSchemeProvider> create().register(AuthSchemes.NTLM, new NTLMSchemeFactory())
            .register(AuthSchemes.SPNEGO, new SPNegoSchemeFactory()).build();

    CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
    credentialsProvider.setCredentials(AuthScope.ANY, new NTCredentials(args[0], args[1], args[2], args[3]));

    HttpClientBuilder builder = HttpClientBuilder.create().setConnectionManager(cm).setDefaultRequestConfig(requestBuilder.build())
            .setDefaultAuthSchemeRegistry(authSchemeRegistry).setDefaultCredentialsProvider(credentialsProvider);

    return new HttpComponentsClientHttpRequestFactory(builder.build());
}

При запуске я получаю следующее сообщение об ошибке

ИНФОРМАЦИЯ |JVM 1 |главная |2018/12/04 14: 55: 31.456 |org.springframework.web.util.NestedServletException: отправка обработчика не удалась;Вложенным исключением является java.lang.LinkageError: нарушение ограничения загрузчика: при разрешении метода "org.springframework.http.client.HttpComponentsClientHttpRequestFactory. (Lorg / apache / http / client / HttpClient;) V" загрузчик классов (экземпляр класса debr)/ tomcat / HybrisWebappLoader $ HybrisWebappClassLoader) текущего класса, uk / co / frw / storefront / controllers / pages / AbstractRegisterPageController и загрузчик классов (экземпляр de / hybris / bootstrap / loader / PlatformInPlaceClassLoader) для метода или определения метода/ springframework / http / client / HttpComponentsClientHttpRequestFactory, имеют различные объекты Class для типа org / apache / http / client / HttpClient, используемого в подписи

...