[ 
https://issues.apache.org/jira/browse/SOLR-5532?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13840444#comment-13840444
 ] 

Hoss Man commented on SOLR-5532:
--------------------------------

bq.  In any case we should fix the parser to accept the content type: ...

Agreed -- what you and i are talking about now is definitely a bug, I'm just 
not convinced i understand how Jakob ran into the specific error he's 
reportring -- which scares me and makes me worried that there is some subtle 
second bug i'm not seeing.

FWIW: My personal preference would be to refactor the APIs and abstract the 
content-type checking out HttpSolrServer, so that instead of calling 
ResponseParser.getContentType() and doing anything with the value, it calls a 
new ResponseParser.canParseContentType(String) ... put the logic you are taking 
about into the XMLResponseParser.canParseContentType, and add some basic 
backcompat support into ResponseParser.canParseContentType that does a simple 
case/whitespace insensitive comparison.



> HttpSolrServer does not accept content type of "ping" response
> --------------------------------------------------------------
>
>                 Key: SOLR-5532
>                 URL: https://issues.apache.org/jira/browse/SOLR-5532
>             Project: Solr
>          Issue Type: New Feature
>    Affects Versions: 4.6
>         Environment: Windows 7, Java 1.7.0_45 (64bit), solr-solrj-4.6.0.jar
>            Reporter: Jakob Furrer
>
> I just upgraded my Solr instance and with it I also upgraded the solrj 
> library in our custom application which sends diverse requests and queries to 
> Solr.
> I use the "ping" method to determine whether Solr started correctly under the 
> configured address. Since the upgrade the ping response results in an error:
> {code:xml}
> Cause: org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException: 
> Expected content type application/xml; charset=UTF-8 but got 
> application/xml;charset=UTF-8.
> <?xml version="1.0" encoding="UTF-8"?>
> <response>
> <lst name="responseHeader"><int name="status">0</int><int 
> name="QTime">0</int><lst name="params"><str name="df">searchtext</str><str 
> name="echoParams">all</str><str name="rows">10</str><str 
> name="echoParams">all</str><str name="wt">xml</str><str 
> name="version">2.2</str><str name="q">solrpingquery</str><str 
> name="distrib">false</str></lst></lst><str name="status">OK</str>
> </response>
> {code}
> The Solr application itself works fine.
> Using an older version of the solrj library than solr-solrj-4.6.0.jar (e.g. 
> solr-solrj-4.5.1.jar) in the custom application does not produce this error.
> The Exception is produced in a Code block (_HttpSolrServer.java_, method 
> _request(...)_, around. line 140) which has been introduced with version 
> 4.6.0.
> Code to reproduce the error:
> {code:xml}
> try {
>   HttpSolrServer solrServer = new 
> HttpSolrServer("my-solr-application-address");
>   solrServer.ping();
>   } catch (Exception e) {
>     e.printStackTrace();
>   }
> }
> {code}
> A global search for "charset=UTF-8" on the source code of solrj indicates 
> that other functions besides "ping" might be affected as well, because there 
> are several places where "application/xml; charset=UTF-8" is spelled without 
> a space after the semicolon.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to