dan6886 / gdata-java-client

Automatically exported from code.google.com/p/gdata-java-client
Apache License 2.0
0 stars 0 forks source link

com.google.gdata.util.ParseException: Invalid value for attribute : 'name' #126

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?

Just execute following command..Don't forget to replace DEVELOPER_KEY.

        String url = 
"http://gdata.youtube.com/feeds/api/playlists/5A5BB1BD363348A9?v=2&start-
index=1&max-results=50";
        YouTubeService service = new 
YouTubeService(DEVELOPER_KEY));
        service.query(new YouTubeQuery(new URL((String) url)), 
VideoFeed.class);

What is the expected output? What do you see instead?

Expected to return playlist entry..Instead it is throwing error. Also, this 
was working for few days..But I have seen this in other queries as well.

What version of the product are you using? On what operating system?
OS: Windows 2003
gdata-client-1.0.jar
gdata-core-1.0.jar
gdata-media-1.0.jar
gdata-youtube-2.0.jar
gdata-youtube-meta-2.0.jar

Please provide any additional information below.
I have attached the stacktrace

Original issue reported on code.google.com by sude...@gmail.com on 29 Apr 2009 at 3:14

Attachments:

GoogleCodeExporter commented 9 years ago
Could you please make this urgent..It is killing the website..Thank you

Original comment by sude...@gmail.com on 29 Apr 2009 at 3:15

GoogleCodeExporter commented 9 years ago
Which version of the GData java library are you using? (This is the version 
string on
the package you downloaded from codesite).

This sounds like a data problem.  Did you begin to see this issue because of 
client
library update? or this started to happen when there was no change at your end?

Original comment by vbarat...@gmail.com on 29 Apr 2009 at 2:01

GoogleCodeExporter commented 9 years ago
Hi there,
I am using latest jars from latest released bundled jar..Following are the jars 
that 
I am using..The version of the jars are specified in the name of the jar itself.

gdata-client-1.0.jar
gdata-core-1.0.jar
gdata-media-1.0.jar
gdata-youtube-2.0.jar
gdata-youtube-meta-2.0.jar

This issue appeared suddenly for the specified playlist. Upon further review, 
it 
seems like the issue is because some of the videos that are in the playlist and 
which 
were public before are now private. But that is a cause of concern because 
people can 
have several playlists and anybody can choose to make any video private and 
that can 
bring down a web page..I think either those videos have to be automatically 
removed 
from the playlist or the API should ignore then instead of throwing error.

The above is my assessment. I am 80% sure but you may want to try yourself with 
the 
playlist URL I provided.

Please let me know if you have any questions.
Thank you
Sudeep

Original comment by sudeepbh...@gtempaccount.com on 29 Apr 2009 at 3:23

GoogleCodeExporter commented 9 years ago
I'm having similar issues:

WARNING: [Line 4, Column 5022, element yt:state] 
com.google.gdata.util.ParseException: Invalid value for attribute : 'name'
Message: Invalid value for attribute : 'name'

    at com.google.gdata.data.AttributeHelper.consumeEnum(AttributeHelper.java:425)

I tracked it down to the <yt:state> tag's name attribute in the feed not 
matching the
State enum.
http://code.google.com/apis/youtube/2.0/reference.html#youtube_data_api_tag_yt:s
tate

The enum array is doing an equals() for each element:
[INCOMPLETE, PROCESSING, REJECTED, FAILED, DELETED]

while the tag is:
restricted

The method then throws the exception.

--Brian

Original comment by brian.h...@gmail.com on 11 Jun 2009 at 6:21

GoogleCodeExporter commented 9 years ago
A temporary fix would be to copy the source for
com.google.gdata.data.youtube.YtPublicationState and add restricted type like 
below.
 Then adding it higher in the classpath.

public static enum State {

    /**
     * The video has not been completely defined yet, but it's been stored
     * already.
     * Either the video data or the description is missing.
     */
    INCOMPLETE,

    /** The video has just been uploaded and is not yet publicly available. */
    PROCESSING,

    /** The video has been rejected. */
    REJECTED,

    /** The video was not successfully processed. */
    FAILED,

    /** Video was removed by the owner. */
    DELETED,

    RESTRICTED,
    ;
  }

Original comment by brian.h...@gmail.com on 11 Jun 2009 at 6:38

GoogleCodeExporter commented 9 years ago
We're getting this error as well. I tried updating from the gdata-1.3.0 jars to 
the
gdata-1.3.3.jars (even though the specific jars within the download haven't 
changed
version numbers.) This looks like a server-side change which, fwiw, is 
completely
hosing our use of the API. 

Original comment by zouzous...@gmail.com on 16 Jun 2009 at 6:51

GoogleCodeExporter commented 9 years ago
@brian.h.GT: Thanks for that fix suggestion ... simple, and worked like a 
charm.  

Now we get to wait for Google to fix their code and break the hack. ;P

- nate

Original comment by o.nl...@gmail.com on 17 Jun 2009 at 10:41

GoogleCodeExporter commented 9 years ago
Thanks for reporting this issue.  We are working on a release that will fix 
this issue.

Original comment by vbarat...@gmail.com on 17 Jun 2009 at 11:38

GoogleCodeExporter commented 9 years ago
Hey Prakash, will you post something here when this fix is released? We're 
noticing
the same error and it happens quite frequently.

thanks,

-- Robert

Original comment by rchatley@gmail.com on 22 Jun 2009 at 12:16

GoogleCodeExporter commented 9 years ago
We are also severely affected.

Is there any work being done on this?
It's been 3 months since the bug was opened.

Hard to believe that a simple solution already determined by brian.h.GT on Jun 
11,
2009 still cannot be implemented by Google...

Original comment by devaraja...@gmail.com on 22 Jul 2009 at 7:18

GoogleCodeExporter commented 9 years ago
I was also having this problem.  Upgrading to gdata-src.java-1.35.1 fixed the 
problem
for us.  After upgrading we had to also add google-collect-1.0-rc2 to our 
deployment
to get things working.

Original comment by zek...@gmail.com on 18 Aug 2009 at 11:12

GoogleCodeExporter commented 9 years ago
Updates?

Original comment by mandavi...@gmail.com on 5 Dec 2009 at 8:08

GoogleCodeExporter commented 9 years ago
Mandavilli,

This was resoled in r98.  Are you still seeing this issue.  If yes which 
version of the jars 
are you using?

Original comment by vbarat...@gmail.com on 7 Dec 2009 at 2:36

GoogleCodeExporter commented 9 years ago
I write data in google spreadsheet using Android when I write below code 
service.getFeed(metafeedUrl,SpreadsheetFeed.class) at that it gives this error

com.google.gdata.util.ParseException: org.xml.sax.SAXNotRecognizedException: 
http://xml.org/sax/features/external-parameter-entities

Original comment by chiragma...@gmail.com on 28 Aug 2011 at 11:37

GoogleCodeExporter commented 9 years ago
i'm using gdata-src.java-1.47.1 version. 
i have the jars:

gdata-core-1.0.jar
gdata-youtube-2.0.jar
gdata-youtube-meta-2.0.jar
gdata-client-1.0.jar
gdata-client-meta-1.0.jar
gdata-media-1.0.jar

guava-11.0.2.jar
jsr305.jar

mail.jar

i checked the YtPublicationState and the enum State has RESTRICTED element.

but i still get the exception(full version is attached):

com.google.gdata.util.ParseException: [Line 1, Column 101152, element yt:state] 
Invalid value for attribute : 'name'
.
.
.
Caused by: com.google.gdata.util.ParseException: Invalid value for attribute : 
'name'

i'm not sure what i'm doing wrong.
any idea appreciated.

Original comment by gokayay...@gmail.com on 29 Jun 2012 at 12:49

Attachments:

GoogleCodeExporter commented 9 years ago
i forgot to add the code:

public GdataYoutube()
    {
        _youtubeService = new YouTubeService("birserverhikayesi");
    }

    public VideoFeed Search(String criteria, int maxResults, int startIndex)
    {
        try
        {
            YouTubeQuery youtubeQuery = new YouTubeQuery(new URL("http://gdata.youtube.com/feeds/api/videos"));

            youtubeQuery.setFullTextQuery(criteria);
            youtubeQuery.setMaxResults(maxResults);
            youtubeQuery.setStartIndex(startIndex);

            VideoFeed videoFeed = _youtubeService.query(youtubeQuery, VideoFeed.class);
            // this call throws the exception

            return videoFeed;
        } catch (IOException ex)
        {
            Logger.getLogger(GdataYoutube.class.getName()).log(Level.SEVERE, null, ex);
        } catch (ServiceException ex)
        {
            // This is the exception caught
            Logger.getLogger(GdataYoutube.class.getName()).log(Level.SEVERE, null, ex);
        }

        return null;
    }

Original comment by gokayay...@gmail.com on 29 Jun 2012 at 12:52

GoogleCodeExporter commented 9 years ago
i've done some workaround and found that, when i request 20 results in each 
query, even only one of the result is broken, an exception is thrown and none 
of them is back.
i thougt of getting the results one by one and eliminate the broken result on 
my own on the server but it will have so much communication overheads.

Do you have any idea??

Original comment by birserve...@gmail.com on 2 Jul 2012 at 7:07