我试图连接到Solr(非云),它从我在Karaf容器中运行的SolrJ应用程序启用了Kerberos。 禁用Kerberos后,我能够正常连接。 启用Kerberos后,我可以通过运行简单的SolrClient类连接到Karaf之外。 但它没有在卡拉夫内部工作。
代码:
System.setProperty("java.security.auth.login.config", "<path to jaas.conf file>");
String urlString = "http://<IP>:8983/solr/test";
SolrServer server = new HttpSolrServer(urlString);
QueryResponse sresponse = server.query( squery );
尝试查询时卡拉夫的例外情况: 2016-12-15 15:02:17,969 |警告| l Console Thread | RequestTargetAuthentication | ? ? | 271 - wrap_mvn_org.apache.httpcomponents_httpclient_4.3.2 - 0.0.0 | NEGOTIATE身份验证错误:无有效凭据p rovided(机制级别:未提供有效凭据(机制级别:故障单请求中的选项设置无效。(101))) 2016-12-15 15:03:10,731 |错误| l Console Thread |错误:org.apache.solr.client.solrj.impl.HttpSolrServer $ RemoteSol rException:预期的mime类型application / octet-stream但是得到了text / html。 Apache Tomcat / 6.0.44 - 错误报告
类型状态报告
消息需要身份验证
说明此请求需要HTTP身份验证。