Вы пытались использовать это вместо этого, это намного проще:
WebClient client = new WebClient();
client.DownloadString("Your_api_location_goes_here");
Таким образом, вы можете загрузить JSON в виде строки.
Кроме того, вы пытались поместить URL
http://api.geonames.org/postalCodeSearchJSON?placename={0}&username=
с вашим местоположением в таком инструменте, как fiddler - http://www.fiddler2.com/fiddler2/?
Может случиться так, что сервис на самом деле истекает, или как вы строитезапрос не совсем верно.Таким образом, вы можете исключить, является ли это служба или ваш код.
Кроме того, вы можете удалить свое имя пользователя из вашего вопроса, просто чтобы никто не мог позвонить в службу, используя ваше имя пользователя!