abdera-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James M Snell <jasn...@gmail.com>
Subject Re: Google Data APIs and chunked encoding
Date Sat, 07 Oct 2006 16:19:14 GMT
Hey Ugo,

I'll take a look at this a bit later on this afternoon.  Do not set the
client to use preemptive authentication, the commons httpclient will
attempt to always do Basic auth with that configuration.

- James

Ugo Cei wrote:
> 
> On Oct 5, 2006, at 6:31 PM, James M Snell wrote:
> 
>> The other way is to use the GoogleLoginAuthCredentials:
>>
>>  Client client = new CommonsClient();
>>
>>  GoogleLoginAuthCredentials credentials =
>>    new GoogleLoginAuthCredentials(
>>      "email", "password", "blogger");
>>
>>  client.addCredentials(
>>    "http://beta.blogger.com",
>>    null, null,
>>    credentials);
>>
>> This will perform the GoogleLogin once and reuse the auth token for each
>> request.
> 
> OK, I've tried for hours but still cannot use this method to
> authenticate. Here is the relevant snippet from my code:
> 
>         Client client = new CommonsClient();
>         GoogleLoginAuthScheme.register();
>         GoogleLoginAuthCredentials credentials = new
> GoogleLoginAuthCredentials(GOOGLE_USERID,
>                 GOOGLE_PASSWORD, "cl");
>         client.addCredentials(baseUrl, null, null, credentials);
>         // client.usePreemptiveAuthentication(true);
>         ClientResponse response = doPost(client, privateCalendarUrl,
> event);
> 
> The error I get is:
> 
> ERROR - HttpMethodDirector         - Missing service in challenge
> org.apache.commons.httpclient.auth.MalformedChallengeException: Missing
> service in challenge
>     at
> org.apache.abdera.ext.gdata.GoogleLoginAuthScheme.processChallenge(GoogleLoginAuthScheme.java:70)
> 
>     at
> org.apache.commons.httpclient.auth.AuthChallengeProcessor.processChallenge(AuthChallengeProcessor.java:161)
> 
>     at
> org.apache.commons.httpclient.HttpMethodDirector.processWWWAuthChallenge(HttpMethodDirector.java:686)
> 
>     at
> org.apache.commons.httpclient.HttpMethodDirector.processAuthenticationResponse(HttpMethodDirector.java:660)
> 
>     at
> org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:192)
> 
>     at
> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396)
>     at
> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:324)
>     at
> org.apache.abdera.protocol.client.CommonsClient.execute(CommonsClient.java:130)
> 
>     at org.apache.abdera.protocol.client.Client.post(Client.java:139)
> 
> I've also tried using preemptive authentication (which the Google Data
> API seems to want) but this fails also, because it looks like HttpClient
> (3.0) cannot do preemptive authentication with anything else but a
> BasicAuthScheme.
> 
> Some help would really be appreciated, I'm completely stuck.
> 
>     Ugo
> 
> 

Mime
View raw message