Get your own customer support community
 

API issues

I've written a WCF client for all of the non-batch calls, but there are some issues that we have run into that are preventing us from using the API. We had been discussing them with John Donovan through email, but we haven't received replies for some questions, and the others have taken over 2 weeks to get a reply.

Problem #1 (unable to see if its been fixed due to Problem #2):
If there are fewer total results than the limit, then we will only get those results. However, if the total number of results exceeds the limit (n), then no matter what the offset is set to, we always get back n (limit) results. I know it sounds weird, but that is what we’ve observed. Here is an example:

If we set the limit to 100 and there are only 16 results total, we get those 16 results. If we set the limit to 10, we will always get 10 results back no matter what the offset if set too. Even if the offset is set to 10,000, we still get back 10 results. I haven’t tried it since I sent you the reply on 10/2/2009, but I can try it again if you like. This can be seen in the Daylife API Tester as well, which is where I first observed the issue.

Problem #2:
When setting the sort property to "date", the response is returning items in descending order, whereas the documentation states that it should be in ascending order. I'm hoping that this is just an error in the current server code as descending order means that we'll be receiving a huge number of duplicate responses.

Problem #3:
The API is not fully compliant with the WC3 specification while Microsoft wrote WCF to be strictly compliant to the WC3 specification.. There is also one compliance issue in the WC3 specification that contradicts a previous WC3 specification, and Microsoft unfortunately followed the rule that is in contradiction. The good thing is that I was able to completely work around that issue by using the XmlSerializer. That WC3 contradiction issue is related to the ordering of elements where the main text states that order cannot be guaranteed, while later text states that order must be specific. As you know, the ordering of response elements appears to be random, thus the default serializer does not work.

The issue that I am not able to work around is due to a violation in the QueryString request. The WC3 specification states that the name of all name-value pairs must be unique, and WCF does not allow this to be overridden. However, it can easily be fixed if the API is corrected to be WC3 compliant that does something like the following pseudo-code:

Good: topic_id=UrlEncode(UrlEncode(“topic1”)+“,”+UrlEncode(“topic2”))
Bad: topic_id=UrlEncode(“topic1”)&topic_id=UrlEncode(“topic2”)

Thanks,
Bill Bosacker
 
sad
Inappropriate?
1 person has this problem

User_default_medium