Bu yazıda kısaca, bir windows applicationda, web servisten alınan hava durumu bilgilerinin nasıl gösteriminin yapılabileceğini anlatmaya çalışacağım.
İlk önce boş bir windows application oluşturmamız gerekmekte. Şekildeki gibi Proje ismine “Hava Durumu” diyebilirsiniz.

Daha sonra oluşturduğumuz projeye aşağıdaki bilgilere sahip bir web servisi eklememiz gerekmekte. Hava durumu dışında, “http://www.webservicex.net” adresinde yaklaşık olarak 30-40 adet ücretsiz web servisi hizmeti bulunmakta. Bunların arasında IP bilgileri, Ülke bilgileri, Birim Çevrimi gibi çok fazla işe yarayan servisler bulunmakta.
URL : “http://www.webservicex.net/globalweather.asmx?wsdl”
Web Service Reference Name : “HavaDurumuWebService”

Daha sonra aşağıdaki gibi bir ekran görüntüsü hazırlamanız gerekmekte.

Formun “OnLoad” metoduna
private void Form1_Load(object sender, EventArgs e)
{HavaDurumuWebService.GlobalWeather havaDurumu = new Hava_Durumu.HavaDurumuWebService.GlobalWeather();
string xmlSehirler = havaDurumu.GetCitiesByCountry(“Turkey”);XmlDocument sehirler = new XmlDocument();
sehirler.LoadXml(xmlSehirler);XmlNodeList sehirNodes = sehirler.SelectNodes(“//City”);
foreach (XmlNode xNode in sehirNodes)
{comboBox1.Items.Add(xNode.InnerText);
}
}
Comboboxın SelectedIndexChanged Eventına ise
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
string secilenSehir = comboBox1.SelectedItem.ToString();
HavaDurumuWebService.GlobalWeather havaDurumu = new Hava_Durumu.HavaDurumuWebService.GlobalWeather();
string xmlHavaDurumu = havaDurumu.GetWeather(secilenSehir, “Turkey”);XmlDocument xmlHava = new XmlDocument();
xmlHava.LoadXml(xmlHavaDurumu);XmlNode xTime = xmlHava.SelectSingleNode(“//Time”);
label4.Text = xTime.InnerText;
XmlNode xTemperature = xmlHava.SelectSingleNode(“//Temperature”);
label5.Text = xTemperature.InnerText;
}
kodlarınız yazarsak, programımız aşağıdaki resimlerde görüldüğü şekilde çalışacaktır.
Programın Source Codunu buradan indirebilirsiniz.



