Исключение при подключении к удаленному экземпляру Solr (ошибка 407)

Я написал код, упомянутый ниже.

HttpSolrServer solrServer = new HttpSolrServer("http://10.40.4.171/solr/prime-core");
List<UserSolr> userList=null;
        SolrQuery q = new SolrQuery();
        q.setQuery("*:*");
        q.setStart(0);
        q.setRows(10);
        //SolrDocumentList results = null;
        try {
            QueryResponse response = solrServer.query(q);
            userList=response.getBeans(UserSolr.class);
        } catch (Exception e) {
            // TODO: handle exception
            System.out.println(e);
        }

Но для вышеизложенного я получаю следующую ошибку: -

org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException: Server at http://10.40.4.171/solr/prime-core returned non ok status:407, message:Proxy Authorization Required

Я не могу решить эту проблему. Тот же код отлично работает с URL-адресом http://localhost:8080/solr/prime-core Пожалуйста, дайте мне знать, как изменить, чтобы подключиться к серверу без ошибок.

Спасибо.

Примечание. Prime-core — это ядро ​​Solr. Я использую Solr 4.3.


person Shiv Kumar Ganesh    schedule 29.07.2013    source источник


Ответы (1)


HTTP-код 407 подразумевает Proxy Authentication Required, вам необходимо установить информацию для аутентификации при подключении к серверу через HttpClient:

httpclient.getCredentialsProvider().setCredentials(
                    AuthScope.ANY,
                    new UsernamePasswordCredentials(username, password));
solrServer = new HttpSolrServer(solrUrl, httpclient);//with credentials

вы можете проверить похожие обсуждения:

Solr — создание экземпляра HttpSolrServer с Httpclient

Solr 4 с базовой аутентификацией

person harsh    schedule 29.07.2013
comment
Логин и пароль подразумевает логин и пароль прокси?? Верно? - person Shiv Kumar Ganesh; 29.07.2013