I am using a Open Source .NET client library for Geonames (http://geonamesdotorgdotnet.codeplex.com). The problem is that some cities are not listed. For example, the city/capital of "Porto Alegre" in the state "Rio Grande Sul" (Brazil) is not listed.
Is there a need for authentication in Webservice to return all the data?
I ask this because the library is not doing any authentication in the Webservice.
It it difficult to help you without knowing which service you are speaking of and which parameters you are using.
In order to debug it I would look at the call to the web service and see what the web service returns.
I'm using the function GetChildren to get everything that is below a certain GeoNameID (in this case is the state). Determine the parameter GeoStyle as Medium.
I checked the source code that calls the function GetChildren following in Webservice:
If I were you then I would enter the url with the parameters in your browser to see what it returns. If you think records are missing then it most likely means that 'maxRows' is not high enough.