Web Servis Kullanarak Güncel Hava Durumunun Gösterilmesi
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.
İlişkili Yazılar :
- DataTable to XMLDocument
- Google Translate Kullanarak .NeT de Dil Çevrimi
- Biztalk Error : “Cannot locate document specification because multiple schemas matched the message type” ve Çözümü
- Türkiye’deki İller ve ilçeleri
- .NeT’de Blok Olarak Seçme
- Proxy kullanarak yasaklı sitelere girmek
- XSD Şemasından .NeT Classı Üretmek
- SQL Connection String (Eng)
- BizTalk Server Tracking Database’i Kod İle Sorgulamak
- XML ve XSLT Dosyalarını İşleyerek Ekrana HTML Çıktısı Veren ASPX Sayfası
Tags: asmx, hava durumu, vs.net, web service, wsdl, xml, XmlDocument
Posted in .NeT 2008, Bilgisayar | 2 Comments »
| Önceki Yazı << Dataset ya da Datatable’dan Excele Bilgi Aktarma || Export Excel From Dataset, Datatable | Sonraki Yazı >> Java Semineri |


Kodunuzu çalıştırdığımda
xmlHava.LoadXml(xmlHavaDurumu);
satırında “Data at the root level is invalid” hatası alıyorum, bilginize.
kaynaktan gelen veri değişmiş gibi, rootdaki ismi değiştirince sorun düzelir. Sorun devam ederse kontrol edebilirim….