Dietmar Glachs created MARMOTTA-618:
---------------------------------------
Summary: CONSTRUCT Sparql Command fails with "no result format
specified ..."
Key: MARMOTTA-618
URL: https://issues.apache.org/jira/browse/MARMOTTA-618
Project: Marmotta
Issue Type: Bug
Components: KiWi Triple Store
Affects Versions: 3.4.0
Environment: marmotta-3.4.0-SNAPSHOT; Tomcat7 - executed with: mvn
tomcat7:run
Operating System: Linux
Reporter: Dietmar Glachs
Priority: Trivial
Fix For: 3.4.0
CONSTRUCT-Sparql-Request fails with "no result format specified or unsupported
format".
In SparqlWebService.select an extensive request header parsing is done to
determine the best content type to use for the response.
Reason: in the above environment - the method
{code:java}
List<String> acceptHeaders =
EnumerationUtils.toList(request.getHeaders(ACCEPT));
{code}
does not produce a list with each requested accept header, instead a list with
a single entry containing all accept headers created - example below:
{code:none}
application/n-triples;q=0.7, text/plain;q=0.7, application/rdf+xml;q=0.8,
application/xml;q=0.8, text/turtle, application/x-turtle,
application/trig;q=0.8, application/x-trig;q=0.8
{code}
This string is then further parsed with
{code:java}
List<ContentType> acceptedTypes =
HttpMarmottaUtils.parseAcceptHeaders(List<String>)
{code}
where the string is split into tokens. Problem the leading space character is
not stripped!!
Solution: in MarmottaHttpUtils.java, method "parseContentType", each token
should be trimmed - line 132.
{code:java}
String mt[] = c.trim().split(";");
{code}
Just provided the patch to "develop" branch
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)