I see...

The attachment didn't come through - maybe you need to file a JIRA and
attach it there.
We will need one anyway.

I think as long as we have KnoxShell client classes to go along with this
it would be great.
The question that I would have is whether we should consider revamping the
general programming model to use a builder pattern and just make this one
of the options.

It seems to me that that would be best but I will need to see more.

Thanks for the clarification!

--larry


On Fri, Sep 22, 2017 at 4:23 PM, Rick Kellogg <[email protected]> wrote:

> Larry,
>
> The recommended way to construct an SOLRJ HttpSolrClient is via the
> HttpSolrClient.Builder class.  The Builder shields the client from any and
> all access to the Apache HttpClient.  So I have created a new replacement
> for the HttpSolrClient.Builder class which basically bootstraps the header
> information to include basic authentication information.
>
> For normal GET operations the normal challenge response mechanism would
> work.  If we do a POST operation, the SOLRJ API will refuse to retry the
> operation since it could cause duplicate records to be created, etc.  Hence
> the need for the preemptive authentication to prevent the failure.
>
> Usage would be as follows:
>
> SolrClient client = new PreemptiveHttpSolrClient.Builder()
>                                          .withBaseSolrURL("https://
> host:8443/gateway/solr/core1")
>                                          .withPreemptiveBasicAuthCredent
> ials("user","pwd")
>                                          .build();
>
> Yes it should be a replacement for HttpClient within KnoxShell with
> appropriate credentials.
>
> I have attached the Builder class.
>
> Hope that helps clarify the matter.
> Rick
>
> -----Original Message-----
> From: larry mccay [mailto:[email protected]]
> Sent: Friday, September 22, 2017 3:38 PM
> To: [email protected]
> Subject: Re: Java Client Examples
>
> Hi Rick -
>
> This is an interesting question.
> Unfortunately, I think that I need more information here.
>
> I may need to see the client you are talking about and a sample of its use
> to understand properly.
>
> Is this a drop-in replacement for the HttpClient being used in KnoxShell?
>
> thanks,
>
> --larry
>
> On Fri, Sep 22, 2017 at 2:58 PM, Rick Kellogg <[email protected]>
> wrote:
>
> > Greetings,
> >
> >
> >
> > When using Knox against SOLR for any operation that requires a POST
> > HTTP action, the standard authentication mechanism in SOLRJ does not
> function.
> > The default challenge/response mechanism specifically prevents the
> > replay of operations.  As such I have had to construct a
> > HttpSolrClient that uses preauthentication.
> >
> >
> >
> > Question: How to we provide this to our intended Knox users?  Do we
> > want to create another Knox project with sample clients showing
> > authentication bootstrap? Or potentially individual projects for
> different services?
> >
> >
> >
> > Thoughts?
> >
> > Rick Kellogg
> >
> >
> >
> >
>

Reply via email to