Thanks for your feedback. Following are some more details Version of solr : 4.3.0 Version of solrj : 4.3.0
The way I am returning response to client: Request Holder is the object containing post process request from client (After renaming few of the fields, and internal to external mapping of the fields) *<Snippet of code>* WS.WSRequestHolder requestHolder = WS.url(url); // requestHolder processing of few fields return requestHolder.get().map( new F.Function<WS.Response, Result>() { @Override public Result apply(WS.Response response) throws Throwable { System.out.println("Response header: " + response.getHeader("Content-Type")); System.out.println("Response: " + response.getBody()); *return ok(response.asByteArray()).as(response.getHeader("Content-Type"));* } } ); Thanks, Prashant On Sun, Apr 13, 2014 at 3:35 AM, Furkan KAMACI <furkankam...@gmail.com>wrote: > Hi; > > If you had a chance to change the code at client side I would suggest to > try that: > > http://lucene.apache.org/solr/4_2_1/solr-solrj/org/apache/solr/client/solrj/impl/HttpSolrServer.html#setParser(org.apache.solr.client.solrj.ResponseParser) > There > maybe a problem about character encoding of your Play App and here is the > information: > > Javabin is a custom binary format used to write out Solr's response in a > fast and efficient manner. As of Solr 3.1, the JavaBin format has changed > to version 2. Version 2 serializes strings differently: instead of writing > the number of UTF-16 characters followed by the bytes in Modified UTF-8 it > writes the number of UTF-8 bytes followed by the bytes in UTF-8. > > Which version of Solr and Solrj do you use respectively? On the other hand > if you give us more information I can help you because there may be any > other interesting thing as like here: > https://issues.apache.org/jira/browse/SOLR-5744 > > Thanks; > Furkan KAMACI > > > 2014-04-12 22:18 GMT+03:00 Prashant Golash <prashant.gol...@gmail.com>: > > > Hi Solr Gurus, > > > > I have some doubt related to solrj client. > > > > My scenario is like this: > > > > - There is a proxy server (Play App) which internally queries solr. > > - The proxy server is called from client side, which uses Solrj > library. > > The issue is that I can't change client code. I can only change > > configurations to call different servers, hence I need to use SolrJ. > > - Results are successfully returned from my play app in > > *java-bin*format without modify them, but on client side, I am > > receiving this > > exception: > > > > Caused by: java.lang.NullPointerException > > * at > > > > > org.apache.solr.common.util.JavaBinCodec.readExternString(JavaBinCodec.java:689)* > > * at > > org.apache.solr.common.util.JavaBinCodec.readVal(JavaBinCodec.java:188)* > > * at > > > org.apache.solr.common.util.JavaBinCodec.unmarshal(JavaBinCodec.java:112)* > > * at > > > > > org.apache.solr.client.solrj.impl.BinaryResponseParser.processResponse(BinaryResponseParser.java:41)* > > * at > > > > > org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:385)* > > * at > > > > > org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:180)* > > * at > > > > > org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:90)* > > * at org.apache.solr.client.solrj.SolrServer.query(SolrServer.java:310)* > > * at > > > > > com.ibm.commerce.foundation.internal.server.services.search.util.SearchQueryHelper.query(SearchQueryHelper.java:125)* > > * at > > > > > com.ibm.commerce.foundation.server.services.rest.search.processor.solr.SolrRESTSearchExpressionProcessor.performSearch(SolrRESTSearchExpressionProcessor.java:506)* > > * at > > > > > com.ibm.commerce.foundation.server.services.search.SearchServiceFacade.performSearch(SearchS* > > erviceFacade.java:193) > > > > I am not sure, if this exception is related to some issue in response > > format or with respect to querying non-solr server from solrj. > > > > Let me know your thoughts > > > > Thanks, > > Prashant > > >