Thanks Andy, this is a huge help.
using this code:

Query query = QueryFactory.create("select ?s where {?s ?p ?o} limit 10");
AuthEnv.get().registerUsernamePassword(new URI("
https://myserver.edu/sparql-auth";), Settings.user, Settings.password);
HttpClient client = HttpClient.newBuilder()
                .connectTimeout(Duration.ofSeconds(10))
                .version(HttpClient.Version.HTTP_1_1)
                .build();
RDFConnection con = RDFConnectionRemote.create()
                .destination(host)
                .queryEndpoint("sparql-auth")
                .httpClient(client)
                .build();
QueryExecution qe = con.query(query);
ResultSet results = qe.execSelect();

is throwing an error:

Exception in thread "main" java.lang.IllegalArgumentException: invalid
header value: "Digest username="username", realm="SPARQL",
nonce="b7ef0b701772c22b88db561ac58bd55f", uri="/sparql-auth?query=SELECT  ?s
WHERE
  { ?s  ?p  ?o }
LIMIT   10
", qop=auth, cnonce="D8DA17AFEAD93444", nc=00000000,
response="4d8ba8cef8aaa7f22d1adf811c6ac903",
opaque="5ebe2294ecd0e0f08eab7690d2a6ee69""
at java.net.http/jdk.internal.net.http.common.Utils.newIAE(Utils.java:286)
at
java.net.http/jdk.internal.net.http.HttpRequestBuilderImpl.checkNameAndValue(HttpRequestBuilderImpl.java:113)
at
java.net.http/jdk.internal.net.http.HttpRequestBuilderImpl.setHeader(HttpRequestBuilderImpl.java:119)
at
java.net.http/jdk.internal.net.http.HttpRequestBuilderImpl.setHeader(HttpRequestBuilderImpl.java:43)
at
org.apache.jena.http.auth.DigestLib.lambda$buildDigest$0(DigestLib.java:119)
at org.apache.jena.http.auth.AuthLib.handle401(AuthLib.java:124)
at org.apache.jena.http.auth.AuthLib.authExecute(AuthLib.java:54)
at org.apache.jena.http.HttpLib.execute(HttpLib.java:536)
at org.apache.jena.http.HttpLib.execute(HttpLib.java:493)
at
org.apache.jena.sparql.exec.http.QueryExecHTTP.executeQuery(QueryExecHTTP.java:497)
at
org.apache.jena.sparql.exec.http.QueryExecHTTP.performQuery(QueryExecHTTP.java:471)
at
org.apache.jena.sparql.exec.http.QueryExecHTTP.execRowSet(QueryExecHTTP.java:168)
at
org.apache.jena.sparql.exec.http.QueryExecHTTP.select(QueryExecHTTP.java:160)
at
org.apache.jena.sparql.exec.QueryExecutionAdapter.execSelect(QueryExecutionAdapter.java:117)
at
org.apache.jena.sparql.exec.QueryExecutionCompat.execSelect(QueryExecutionCompat.java:97)
at com.mycompany.rad.RDF.<init>(RDF.java:90)
at com.mycompany.rad.RDF.main(RDF.java:105)

I'm using Graalvm:
java -version
openjdk version "17.0.3" 2022-04-19
OpenJDK Runtime Environment GraalVM CE 22.1.0 (build
17.0.3+7-jvmci-22.1-b06)
OpenJDK 64-Bit Server VM GraalVM CE 22.1.0 (build 17.0.3+7-jvmci-22.1-b06,
mixed mode, sharing)

   - Erich

On Mon, May 16, 2022 at 11:49 AM Andy Seaborne <a...@apache.org> wrote:

>
>
> On 16/05/2022 16:11, Erich Bremer wrote:
> > It seems in Jena 4.3.X forward HttpClient in RDFConnectionRemoteBuilder
> was
> > changed from org.apache.http.client.HttpClient to
> java.net.http.HttpClient.
> > The latter doesn't appear to support Digest Authentication.  Is there
> > support for Digest authentication in 4.3.X forward?  I was able to do it
> > with the older RDFConnectionRemoteBuilder.  Thanks, Erich
> >
>
> https://jena.apache.org/documentation/sparql-apis/
>
> Digest auth is supported (implemented by Jena).
>
>      Andy
>

Reply via email to