My bad…turns out that I was using the HttpSolrServer in 3.6.1 in my client side. When I changed it to CommonsHttpSolrServer in 3.6.1 or HttpSolrServer in 4.1, everything works correctly.
On Jan 26, 2013, at 4:18 PM, santoash <santo...@me.com> wrote: > I use HttpSolrServer (going through an external loadbalancer) to connect to > my solrCloud. When I try to index an object via httpSolrServer.addBean(), I > get a 400 error back and in the SolrCloud node, I see the following exception: > > > SEVERE: org.apache.solr.common.SolrException: Unsupported ContentType: > application/octet-stream Not in: [application/xml, text/csv, text/json, > application/csv, application/javabin, text/xml, application/json] > at > org.apache.solr.handler.UpdateRequestHandler$1.load(UpdateRequestHandler.java:86) > at > org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:74) > at > org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129) > at org.apache.solr.core.SolrCore.execute(SolrCore.java:1699) > at > org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:455) > at > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:276) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1088) > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360) > at > org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) > at > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) > at > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729) > at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) > at > org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206) > at > org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) > at > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) > at org.mortbay.jetty.Server.handle(Server.java:324) > at > org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505) > at > org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843) > at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:729) > at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) > at > org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228) > at > org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450 > > > > > All the fields in my bean are either simple strings, array of strings or > integers. In my solrconfig.xml, I have the following in my updateHandler > section: > > > <requestHandler name="/update" class="solr.UpdateRequestHandler" /> > <requestHandler name="/update/javabin" > class="solr.BinaryUpdateRequestHandler" /> > > <!-- for back compat with clients using /update/json and /update/csv -->.. > <requestHandler name="/update/json" class="solr.JsonUpdateRequestHandler"> > <lst name="defaults"> > <str name="stream.contentType">application/json</str> > </lst> > </requestHandler> > <requestHandler name="/update/csv" class="solr.CSVRequestHandler"> > <lst name="defaults"> > <str name="stream.contentType">application/csv</str> > </lst> > </requestHandler> > > <!-- Solr Cell Update Request Handler > > http://wiki.apache.org/solr/ExtractingRequestHandler. > > --> > <requestHandler name="/update/extract". > startup="lazy" > class="solr.extraction.ExtractingRequestHandler" > > <lst name="defaults"> > <str name="lowernames">true</str> > <str name="uprefix">ignored_</str> > > <!-- capture link hrefs but ignore div attributes --> > <str name="captureAttr">true</str> > <str name="fmap.a">links</str> > <str name="fmap.div">ignored_</str> > </lst> > </requestHandler> > > > I would appreciate any pointers on how to get past this issue. > > Thanks in advance! > > Santoash