小编Das*_*ash的帖子

Solr 4具有基本认证

我正在尝试使用solrj连接到solr.我的solr实例在jetty中运行,并受基本身份验证保护.我发现这些链接包含相关信息.

http://grokbase.com/t/lucene/solr-user/1288xjjbwx/http-basic-authentication-with-httpsolrserver

使用Apache HttpClient进行抢占式基本身份验证4 但是,我仍然遇到以下异常:

Caused by: org.apache.http.client.ClientProtocolException
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:822)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:732)
at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:352)
... 5 more
 Caused by: org.apache.http.client.NonRepeatableRequestException: Cannot retry request with a non-repeatable request entity.
at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:625)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:464)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)
... 8 more
Run Code Online (Sandbox Code Playgroud)

我还附上了我正在使用的代码片段.

public static void main(String[] args) throws SolrServerException, IOException {

    HttpSolrServer server = new HttpSolrServer("http://localhost:8983/solr/");

    DefaultHttpClient m_client =(DefaultHttpClient)server.getHttpClient(); 
    UsernamePasswordCredentials credentials = new UsernamePasswordCredentials(USERNAME, PASSWORD);

    m_client.addRequestInterceptor(new PreemptiveAuthInterceptor(),0);
    (((DefaultHttpClient)m_client).getCredentialsProvider()).setCredentials(new AuthScope("localhost",8983), credentials);

    SolrInputDocument document = new SolrInputDocument();
    document.addField("id",123213);
    server.add(document);
    server.commit();

}
Run Code Online (Sandbox Code Playgroud)

}

class PreemptiveAuthInterceptor …
Run Code Online (Sandbox Code Playgroud)

authentication solr jetty basic-authentication jetty-8

3
推荐指数
1
解决办法
7309
查看次数