I tested this with the following code
SolrRequest req = new QueryRequest(new SolrQuery("*:*"));//create a new req.setBasicAuthCredentials("solr", "SolrRocks"); client.setDefaultCollection(COLLECTION); NamedList<Object> res = cluster.getSolrClient().request(req); System.out.println("successful"+ Utils.toJSON(res.asMap(5))); seems to work for me. which version of Solr and SolrJ are you using On Sun, Apr 16, 2017 at 11:40 AM, Zheng Lin Edwin Yeo <edwinye...@gmail.com> wrote: > Ok, thank you. > > Regards, > Edwin > > On 15 April 2017 at 08:05, Noble Paul <noble.p...@gmail.com> wrote: > >> I'll test with this and let you know >> >> On Apr 13, 2017 23:06, "Zheng Lin Edwin Yeo" <edwinye...@gmail.com> wrote: >> >> > The security.json which I'm using is the default one that is available >> from >> > the Solr Documentation https://cwiki.apache.org/confluence/display/ >> > solr/Basic+Authentication+Plugin. >> > >> > { >> > "authentication":{ >> > "blockUnknown": true, >> > "class":"solr.BasicAuthPlugin", >> > "credentials":{"solr":"IV0EHq1OnNrj6gvRCwvFwTrZ1+z1oBbnQdiVC3otuq0= >> > Ndd7LKvVBAaZIF0QAVi1ekCfAJXr1GGfLtRUXhgrF8c="} >> > }, >> > "authorization":{ >> > "class":"solr.RuleBasedAuthorizationPlugin", >> > "user-role":{"solr":"admin"}, >> > "permissions":[{"name":"security-edit", >> > "role":"admin"}] >> > }} >> > >> > >> > Regards, >> > Edwin >> > >> > On 13 April 2017 at 19:53, Noble Paul <noble.p...@gmail.com> wrote: >> > >> > > That looks good. can you share the security.json (commenting out >> > > anything that's sensitive of course) >> > > >> > > On Wed, Apr 12, 2017 at 5:10 PM, Zheng Lin Edwin Yeo >> > > <edwinye...@gmail.com> wrote: >> > > > This is what I get when I run the code. >> > > > >> > > > org.apache.solr.client.solrj.impl.HttpSolrClient$ >> RemoteSolrException: >> > > Error >> > > > from server at http://localhost:8983/solr/testing: Expected mime >> type >> > > > application/octet-stream but got text/html. <html> >> > > > <head> >> > > > <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> >> > > > <title>Error 401 require authentication</title> >> > > > </head> >> > > > <body><h2>HTTP ERROR 401</h2> >> > > > <p>Problem accessing /solr/testing/update. Reason: >> > > > <pre> require authentication</pre></p> >> > > > </body> >> > > > </html> >> > > > >> > > > at >> > > > org.apache.solr.client.solrj.impl.HttpSolrClient. >> > > executeMethod(HttpSolrClient.java:578) >> > > > at >> > > > org.apache.solr.client.solrj.impl.HttpSolrClient.request( >> > > HttpSolrClient.java:279) >> > > > at >> > > > org.apache.solr.client.solrj.impl.HttpSolrClient.request( >> > > HttpSolrClient.java:268) >> > > > at org.apache.solr.client.solrj.SolrRequest.process( >> > > SolrRequest.java:149) >> > > > at org.apache.solr.client.solrj.SolrClient.add(SolrClient.java:106) >> > > > at org.apache.solr.client.solrj.SolrClient.add(SolrClient.java:71) >> > > > at org.apache.solr.client.solrj.SolrClient.add(SolrClient.java:85) >> > > > at testing.indexing(testing.java:2939) >> > > > at testing.main(testing.java:329) >> > > > Exception in thread "main" >> > > > org.apache.solr.client.solrj.impl.HttpSolrClient$ >> RemoteSolrException: >> > > Error >> > > > from server at http://localhost:8983/solr/testing: Expected mime >> type >> > > > application/octet-stream but got text/html. <html> >> > > > <head> >> > > > <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> >> > > > <title>Error 401 require authentication</title> >> > > > </head> >> > > > <body><h2>HTTP ERROR 401</h2> >> > > > <p>Problem accessing /solr/testing/update. Reason: >> > > > <pre> require authentication</pre></p> >> > > > </body> >> > > > </html> >> > > > >> > > > at >> > > > org.apache.solr.client.solrj.impl.HttpSolrClient. >> > > executeMethod(HttpSolrClient.java:578) >> > > > at >> > > > org.apache.solr.client.solrj.impl.HttpSolrClient.request( >> > > HttpSolrClient.java:279) >> > > > at >> > > > org.apache.solr.client.solrj.impl.HttpSolrClient.request( >> > > HttpSolrClient.java:268) >> > > > at org.apache.solr.client.solrj.SolrRequest.process( >> > > SolrRequest.java:149) >> > > > at org.apache.solr.client.solrj.SolrClient.commit(SolrClient. >> java:484) >> > > > at org.apache.solr.client.solrj.SolrClient.commit(SolrClient. >> java:463) >> > > > at testing.indexing(testing.java:3063) >> > > > at testing.main(testing.java:329) >> > > > >> > > > Regards, >> > > > Edwin >> > > > >> > > > >> > > > On 12 April 2017 at 14:28, Noble Paul <noble.p...@gmail.com> wrote: >> > > > >> > > >> can u paste the stacktrace here >> > > >> >> > > >> On Tue, Apr 11, 2017 at 1:19 PM, Zheng Lin Edwin Yeo >> > > >> <edwinye...@gmail.com> wrote: >> > > >> > I found from StackOverflow that we should declare it this way: >> > > >> > http://stackoverflow.com/questions/43335419/using- >> > > >> basicauth-with-solrj-code >> > > >> > >> > > >> > >> > > >> > SolrRequest req = new QueryRequest(new SolrQuery("*:*"));//create >> a >> > > new >> > > >> > request object >> > > >> > req.setBasicAuthCredentials(userName, password); >> > > >> > solrClient.request(req); >> > > >> > >> > > >> > Is that correct? >> > > >> > >> > > >> > For this, the NullPointerException is not coming out, but the >> SolrJ >> > is >> > > >> > still not able to get authenticated. I'm still getting Error Code >> > 401 >> > > >> even >> > > >> > after putting in this code. >> > > >> > >> > > >> > Any advice on which part of the SolrJ code should we place this >> code >> > > in? >> > > >> > >> > > >> > Regards, >> > > >> > Edwin >> > > >> > >> > > >> > >> > > >> > On 10 April 2017 at 23:50, Zheng Lin Edwin Yeo < >> > edwinye...@gmail.com> >> > > >> wrote: >> > > >> > >> > > >> >> Hi, >> > > >> >> >> > > >> >> I have just set up the Basic Authentication Plugin in Solr 6.4.2 >> on >> > > >> >> SolrCloud, and I am trying to modify my SolrJ code so that the >> code >> > > can >> > > >> go >> > > >> >> through the authentication and do the indexing. >> > > >> >> >> > > >> >> I tried using the following code from the Solr Documentation >> > > >> >> https://cwiki.apache.org/confluence/display/solr/Basic+ >> > > Authentication+ >> > > >> >> Plugin. >> > > >> >> >> > > >> >> SolrRequest req ;//create a new request object >> > > >> >> req.setBasicAuthCredentials(userName, password); >> > > >> >> solrClient.request(req); >> > > >> >> >> > > >> >> However, the code complains that the req is not initialized. >> > > >> >> >> > > >> >> If I initialized it, it will be initialize as null. >> > > >> >> >> > > >> >> SolrRequest req = null;//create a new request object >> > > >> >> req.setBasicAuthCredentials(userName, password); >> > > >> >> solrClient.request(req); >> > > >> >> >> > > >> >> This will caused a null pointer exception. >> > > >> >> Exception in thread "main" java.lang.NullPointerException >> > > >> >> >> > > >> >> How should we go about putting these codes, so that the error can >> > be >> > > >> >> prevented? >> > > >> >> >> > > >> >> Regards, >> > > >> >> Edwin >> > > >> >> >> > > >> >> >> > > >> >> > > >> >> > > >> >> > > >> -- >> > > >> ----------------------------------------------------- >> > > >> Noble Paul >> > > >> >> > > >> > > >> > > >> > > -- >> > > ----------------------------------------------------- >> > > Noble Paul >> > > >> > >> -- ----------------------------------------------------- Noble Paul