You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by Prathik Puthran <pr...@gmail.com> on 2014/04/13 07:46:39 UTC

Exception while unmarshalling response in SolrJ

Hi,

I am using SolrJ client to send request to Solr. But instead of calling
Solr directly SolrJ communicates with my proxy server which in turn calls
Solr and gets the response in javabin format and returns back the response
to the client in the same format. The proxy server is written using play
framework and just sends request to Solr and returns the HTTP response to
client. Below is the exception I get in SolrJ client library when it tries
to unmarshall the javabin response. I'm using Solrj 4.7.0. How can I fix
this?

Exception Stack trace:















*Exception in thread "main"
org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException    at
org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:477)
at
org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:199)
at
org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:90)
at org.apache.solr.client.solrj.SolrServer.query(SolrServer.java:301)    at
com.br.solr.Main.main(Main.java:20)Caused by:
java.lang.NullPointerException    at
org.apache.solr.common.util.JavaBinCodec.readExternString(JavaBinCodec.java:769)
at
org.apache.solr.common.util.JavaBinCodec.readVal(JavaBinCodec.java:192)
at
org.apache.solr.common.util.JavaBinCodec.unmarshal(JavaBinCodec.java:116)
at
org.apache.solr.client.solrj.impl.BinaryResponseParser.processResponse(BinaryResponseParser.java:43)
at
org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:475)
... 4 more*

Re: Exception while unmarshalling response in SolrJ

Posted by Furkan KAMACI <fu...@gmail.com>.
Hi;

I've answered a similar question at mail list. Please check it and give
your feedbacks. If I have time I will check it with a Play App.

Thanks;
Furkan KAMACI
13 Nis 2014 19:00 tarihinde "Shawn Heisey" <so...@elyograg.org> yazdı:

> On 4/12/2014 11:46 PM, Prathik Puthran wrote:
> > Hi,
> >
> > I am using SolrJ client to send request to Solr. But instead of calling
> > Solr directly SolrJ communicates with my proxy server which in turn
> > calls Solr and gets the response in javabin format and returns back the
> > response to the client in the same format. The proxy server is written
> > using play framework and just sends request to Solr and returns the HTTP
> > response to client. Below is the exception I get in SolrJ client library
> > when it tries to unmarshall the javabin response. I'm using Solrj 4.7.0.
> > How can I fix this?
> >
> > Exception Stack trace:
> >
> > *Exception in thread "main"
> > org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException
> >     at
> >
> org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:477)
> >     at
> >
> org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:199)
> >     at
> >
> org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:90)
> >     at org.apache.solr.client.solrj.SolrServer.query(SolrServer.java:301)
> >     at com.br.solr.Main.main(Main.java:20)
> > Caused by: java.lang.NullPointerException
> >     at
> >
> org.apache.solr.common.util.JavaBinCodec.readExternString(JavaBinCodec.java:769)
> >     at
> > org.apache.solr.common.util.JavaBinCodec.readVal(JavaBinCodec.java:192)
> >     at
> > org.apache.solr.common.util.JavaBinCodec.unmarshal(JavaBinCodec.java:116)
> >     at
> >
> org.apache.solr.client.solrj.impl.BinaryResponseParser.processResponse(BinaryResponseParser.java:43)
> >     at
> >
> org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:475)
> >     ... 4 more
>
> This started as a thread on the user list where someone else put up the
> same information, but there they said that the Solr and SolrJ versions
> were 4.3.0.
>
> The line numbers in the exception on the user list match up to 4.3.0,
> and the line numbers here match up to 4.7.0, which is good.
>
> In the user list discussion the poster indicated that the production
> application cannot be changed, but can you set up a testing version and
> send the request directly to Solr, bypassing the play framework?
>
> If you do that and it works, then you'll need to look for help with your
> play framework code on one of their support venues.  They'll need to
> tell you how to relay the response without changing it.  If the request
> direct to Solr doesn't work, then we can troubleshoot that part of it.
> The user list is a more appropriate venue.
>
> Thanks,
> Shawn
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
> For additional commands, e-mail: dev-help@lucene.apache.org
>
>

Re: Exception while unmarshalling response in SolrJ

Posted by Shawn Heisey <so...@elyograg.org>.
On 4/12/2014 11:46 PM, Prathik Puthran wrote:
> Hi,
> 
> I am using SolrJ client to send request to Solr. But instead of calling
> Solr directly SolrJ communicates with my proxy server which in turn
> calls Solr and gets the response in javabin format and returns back the
> response to the client in the same format. The proxy server is written
> using play framework and just sends request to Solr and returns the HTTP
> response to client. Below is the exception I get in SolrJ client library
> when it tries to unmarshall the javabin response. I'm using Solrj 4.7.0.
> How can I fix this? 
> 
> Exception Stack trace:
> 
> *Exception in thread "main"
> org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException
>     at
> org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:477)
>     at
> org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:199)
>     at
> org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:90)
>     at org.apache.solr.client.solrj.SolrServer.query(SolrServer.java:301)
>     at com.br.solr.Main.main(Main.java:20)
> Caused by: java.lang.NullPointerException
>     at
> org.apache.solr.common.util.JavaBinCodec.readExternString(JavaBinCodec.java:769)
>     at
> org.apache.solr.common.util.JavaBinCodec.readVal(JavaBinCodec.java:192)
>     at
> org.apache.solr.common.util.JavaBinCodec.unmarshal(JavaBinCodec.java:116)
>     at
> org.apache.solr.client.solrj.impl.BinaryResponseParser.processResponse(BinaryResponseParser.java:43)
>     at
> org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:475)
>     ... 4 more

This started as a thread on the user list where someone else put up the
same information, but there they said that the Solr and SolrJ versions
were 4.3.0.

The line numbers in the exception on the user list match up to 4.3.0,
and the line numbers here match up to 4.7.0, which is good.

In the user list discussion the poster indicated that the production
application cannot be changed, but can you set up a testing version and
send the request directly to Solr, bypassing the play framework?

If you do that and it works, then you'll need to look for help with your
play framework code on one of their support venues.  They'll need to
tell you how to relay the response without changing it.  If the request
direct to Solr doesn't work, then we can troubleshoot that part of it.
The user list is a more appropriate venue.

Thanks,
Shawn



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org