getAlbums fails in DeserializeXML

Oct 23, 2009 at 12:48 AM
Edited Oct 23, 2009 at 1:15 AM

I am using dev version of toolkit 3.0 in my SL app and I am having problem with getAlbums call. I stepped through the code using VS debugger and found that it fails in DeserializeXML call. Other calls like Users.GetInfoAsync or Photos.GetAsync work fine. Any ideas why is it happening?

Also class 'photo' doesn't hold all of the information returned by Facebook, namely height and width for src, src_big and src_small.

Oct 28, 2009 at 6:15 AM

Okeey. After some hours with debuger I figured it out. Created, modified and modified_major properties in class album should be set to nullable since facebook can return album with those values set to xsi:nil="true". It happens specificaly if user have not uploaded any profile pictures.

Oct 29, 2009 at 10:26 PM

Btw here is my silverlight app http://apps.facebook.com/comiccomposer. FDT added hefty 300k to my app almost doubling its size. Would be nice if it was a bit more modular.

Dec 1, 2009 at 4:37 AM

What was your actual solution to the problem, as I'm also having this issue, thats after having created a new album through my own desktop app, and then uploading a photo to that new album. could it be the size of the photo uploaded.

Dec 1, 2009 at 2:14 PM

Yes, my problem was also caused by me not having a profile picture. Nice little bug, just like the one where the user doesn't have a current location, it won't load the users profile.

 

Dec 5, 2009 at 1:35 AM
Edited Dec 5, 2009 at 1:41 AM

My solution was to change source and recompile my own version of toolkit with fields I lisetd above changed to nullable. But I have to say that I am unhappy with the way how xml deserialisation works in facebook toolkit in general. Xml serialization library is the main contributor to the bulk of final dll and is not resiliant to unexpected values in results returned by Facebook. Considering the rate of change of Facebook APIs it will be a major pain keeping toolkit in working shape.

Dec 5, 2009 at 11:41 AM

Hey.  Thanks for this post.  It helped me out a lot.  I didn't notice this bug, until I used an account that wasn't setup as a developer.  I don't know why, but it seems that there is different data sent when using a developer account as opposed to a normal user.

 

Anyways, your solution worked perfectly!

thanks,

stringa

Dec 8, 2009 at 12:42 AM
Edited Dec 8, 2009 at 12:43 AM

Please vote for this work item. The DeserializeXML logic is flawed.

http://facebooktoolkit.codeplex.com/WorkItem/View.aspx?WorkItemId=15132

Thanks

Dec 9, 2009 at 10:45 PM

Thanks for the workitem link stref.  I've added my experience as a comment and bumped the vote.