Search code examples
gwtgoogle-apigdatagoogle-contacts-api

Unable to pull contacts from gmail after GWT 2.4 upgrade


I am currently running into an issue when attempting to pull contacts from a users gmail account.

Prior to upgrading to GWT 2.4 this worked as required, since upgrading to 2.4 (from 2.3) we are running into a really obscure error that is causing it to fail.

    try
    {
        myService.setUserCredentials(username, password);
    }
    catch (final AuthenticationException e)
    {
        //log exception
    }

    URL feedURL;

    try
    {
        feedURL = new URL("https://www.google.com/m8/feeds/contacts/default/full?max-results=1000");
    }
    catch (final MalformedURLException e)
    {
        //log exception
    }

    ContactFeed resultFeed;

    try
    {
        resultFeed = myService.getFeed(feedURL, ContactFeed.class);
    }
    catch (final IOException e) //Exception is caught here, see below
    {
        //log exception
    }
    catch (ServiceException e)
    {
        //log exception
    }

What is being caught:

cause = ProtocolException
detailedMessage= "Missing WWW-Authenticate header"

java.net.ProtocolException: Missing WWW-Authenticate header

With the upgrade to GWT 2.4 is there any new authentication that needs to be done? I have not found anything to say this is the case, specificly on their developer guide.

Any advice is greatly appreciated at this point.


Solution

  • This issue was being caused by a third party library. The library was using httpclient 1.0, which gdata is not compatible with.

    For some reason gdata is trying to communicate using the outdated 1.0 instead of latest.