[
https://issues.apache.org/jira/browse/JENA-2257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17479850#comment-17479850
]
Jan Martin Keil commented on JENA-2257:
---------------------------------------
Yes. I inspected it with an debugger and found, that {{params}} is empty and
therefore {{{}qs.length() == 0{}}}.
Target server is [https://query.wikidata.org/sparql.]
Maybe the query should get added to {{params}} in {{query(String)}} instead of
{{{}actualSendMode(){}}}, {{{}executeQueryPostBody(Params, String){}}},
{{{}executeQueryPostForm(Params, String){}}}, {{{}executeQueryGet(Params,
String){}}}?
Further, one could have all sendMode options in {{query(String)}} logic and
just use an extra method for the URL length calculation instead of
{actualSendMode()}. That way, {{query(String)}} becomes easier to understand.
> QueryExecHTTP#actualSendMode ignores query length causing HTTP 414
> ------------------------------------------------------------------
>
> Key: JENA-2257
> URL: https://issues.apache.org/jira/browse/JENA-2257
> Project: Apache Jena
> Issue Type: Bug
> Components: ARQ, SPARQL
> Affects Versions: Jena 4.3.2
> Reporter: Jan Martin Keil
> Assignee: Andy Seaborne
> Priority: Major
>
> {_}QueryExecHTTP#actualSendMode(){_}, called in {_}QueryExecHTTP#query(String
> reqAcceptHeader){_}, does not consider the length of the query. In case of
> long queries, this causes _414 Request-URI Too Long_ errors, even if
> {_}sendMode=={_}{_}QuerySendMode{_}{_}.asGetWithLimitBody{_} (default):
> {quote}HttpException: 414 Request-URI Too Long
> at
> org.apache.jena.sparql.engine.http.QueryExceptionHTTP.rewrap(QueryExceptionHTTP.java:49)
> at
> org.apache.jena.sparql.exec.http.QueryExecHTTP.executeQuery(QueryExecHTTP.java:493)
> at
> org.apache.jena.sparql.exec.http.QueryExecHTTP.query(QueryExecHTTP.java:483)
> at
> org.apache.jena.sparql.exec.http.QueryExecHTTP.execRdfWorker(QueryExecHTTP.java:339)
> at
> org.apache.jena.sparql.exec.http.QueryExecHTTP.execGraph(QueryExecHTTP.java:287)
> at
> org.apache.jena.sparql.exec.http.QueryExecHTTP.construct(QueryExecHTTP.java:244)
> at
> org.apache.jena.sparql.exec.QueryExecutionAdapter.execConstruct(QueryExecutionAdapter.java:129)
> {quote}
> Workarounds:
> * _QuerySendMode.systemDefault = QuerySendMode.asPost;_
> * _QueryExecution.service(…).sendMode(QuerySendMode.asPost)_
--
This message was sent by Atlassian Jira
(v8.20.1#820001)