dmfs/oauth2-essentials

org.dmfs.oauth2.client.http.entities.XWwwFormUrlEncodedEntity.contentType()Lorg/dmfs/optional/Optional;

gianx89 opened this issue · 4 comments

Trying Client Credential Authentication. On OAuth2AccessToken token = new ClientCredentialsGrant(client, new BasicScope("scim")).accessToken(executor); I get on first line of (PlainHttpUrlConnectionExecutor)

// also set the content-type header if we have any content-type
        if (request.requestEntity().contentType().isPresent())
        {
            connection.setRequestProperty(HttpHeaders.CONTENT_TYPE.name(),
                    HttpHeaders.CONTENT_TYPE.valueString(request.requestEntity().contentType().value()));
        }

org.dmfs.oauth2.client.http.entities.XWwwFormUrlEncodedEntity.contentType()Lorg/dmfs/optional/Optional;

dmfs commented

Looks like the oauth2-essentials version and the http-client-essentials version don't match.
Which versions do you use?

Now I'm using:

<dependency org="org.dmfs" name="oauth2-essentials" rev="0.12"/>
<dependency org="org.dmfs" name="httpurlconnection-executor" rev="0.17"/>

And I get:

Caused by: java.lang.IncompatibleClassChangeError
at org.dmfs.iterators.decorators.Filtered.moveToNext(Filtered.java:88)
at org.dmfs.iterators.decorators.Filtered.(Filtered.java:58)
at org.dmfs.httpessentials.types.StringMediaType.parameters(StringMediaType.java:76)
at org.dmfs.httpessentials.types.StringMediaType.firstParameter(StringMediaType.java:63)
at org.dmfs.httpessentials.types.StringMediaType.charset(StringMediaType.java:119)
at org.dmfs.httpessentials.responsehandlers.StringResponseHandler.handleResponse(StringResponseHandler.java:88)
at org.dmfs.oauth2.client.http.responsehandlers.TokenErrorResponseHandler.handleResponse(TokenErrorResponseHandler.java:60)
at org.dmfs.oauth2.client.http.responsehandlers.TokenErrorResponseHandler.handleResponse(TokenErrorResponseHandler.java:39)
at org.dmfs.httpessentials.httpurlconnection.PlainHttpUrlConnectionExecutor.execute(PlainHttpUrlConnectionExecutor.java:78)
at org.dmfs.httpessentials.executors.common.decorators.BottomBranded.execute(BottomBranded.java:54)
at org.dmfs.httpessentials.executors.common.decorators.BottomBranded.execute(BottomBranded.java:54)
at org.dmfs.httpessentials.httpurlconnection.HttpUrlConnectionExecutor.execute(HttpUrlConnectionExecutor.java:67)
at org.dmfs.httpessentials.executors.useragent.Branded.execute(Branded.java:53)
at org.dmfs.oauth2.client.BasicOAuth2AuthorizationProvider.accessToken(BasicOAuth2AuthorizationProvider.java:55)
at org.dmfs.oauth2.client.BasicOAuth2Client.accessToken(BasicOAuth2Client.java:63)
at org.dmfs.oauth2.client.grants.ClientCredentialsGrant.accessToken(ClientCredentialsGrant.java:60)
at it.corvallis.multitrace.service.web.WebService.registerUser(WebService.java:246)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:180)
at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96)
... 40 more

Crash here:

 @Override
    public String charset(String defaultCharset)
    {
        return firstParameter(Parameters.CHARSET, defaultCharset).value();
    }

in StringMediaType with java.lang.reflect.InvocationTargetException

Update, crashes on first line

 if (mFilter.iterate(next))
            {
                mNext = next;
                mHasNext = true;
                return;
            }

in org.dmfs.iterators.decorators.Filteres

Solved with the correct version of packages. Opened new issue for the other problem.