2 Eylül 2010 Perşembe

.NET Form Uygulamalarında Web Servis Kullanımı

Günümüzde gerek desktop uygulamalarında olsun, gerek online uygulamalar da olsun, web servis kullanımı gittikçe yaygınlaşmaktadır ve yaygınlaşmaya da devam edecektir.

En basit haliyle web servisin tanımını yapmak istersek: Web servisler farklı platformların aynı dilde konuşmasına yani haberleşmesine imkan sağlayan kullanıcı tanımlı fonksiyonlardır. Evet aslında web servisler bizim uygulamlarımızda her hangi bir işi yaptırmak için yazdığımız fonksiyon(procedure) lardan farksızdır.

.Net te webservis oluşturmak ve oluşturduğumuz bu web servisi projemize import edip kullanmak oldukça kolaydır. Ancak biz bu yazımızda buradaki adreste sunulmakta olan tc kimlik no doğrulamaya yarayan bir web servisi kullanacağız. Bu web servisi kullanmak veya kendi oluşturduğumuz bir web servisi kullanmak arasında yapılan işlemler açısından pek fark yoktur. ( Eğer kendi oluşturduğumuz bir web servisi kullanmak istersek, bu web servisi IIS ile local de yayınlamamız gerekecektir. )

Öncelike yeni bir windows form application projesi oluşturuyoruz ve tasarımını aşağıdaki gibi yapıyoruz. Bu arada .net projemizde dil olarak c# kullanacağız.( Proje dediysek bir kaç satır koddan ibaret olduğunuda belirtmekde farda var :P )




Tasarımımızı bu şekilde yaptıktan sonra, yukarıda belirttiğimiz url deki web servisi projemize import etmeiyiz. Eğer Url e tıkarsanız, web servisin TCKimlikNoDogrula adında sadece bir adet fonksiyon ihtiva ettiğini görebilirsiniz. Web servisi projeye import etmek için şekilde görüldüğü gibi, referanslar klasörüne sağ tıklayıp, "Add Service Reference" diyoruz.




Açılan pencerede adres çubuğuna http://tckimlik.nvi.gov.tr/Service/kpsPublic.asmx yazıp Go ya tıklıyoruz ve sonuçta şekildeki gibi bir ekranla karşılaşmamız gerekiyor.





Bu ekranda iken Okay butonuna tıklarsak, web servisimizi projemize referans yapmış oluruz. Bu aşamadan sonra web servisimizin tüm fonksiyonlarını kullanabileceğiz. Sorgula isimli butonumuzun click event ine aşağıdaki kodu yazarak projemizi sonlandırmış olacağız.






tüm bu adımlardan sonra, artık web servisimizi kolaylıkla kullanabileceğiz. Web servisten kullandığımız TCKimlikNoDogrula( ) isimli fonksiyon 4 parametre almaktadır. Bunlar tc no, ad, soyad ve doğum yılıdır. Bu parametreleri alan TCKimlikNoDogrula() fonksiyonumuz geriye bool tipinde bir değer döndürmektedir. (tc no mevcutsa ve bilgileri girilen kşiye aitse true, değilse false değeri döner.)

Örnek olarak kendi bilgilerimi girdiğim ve sonuç aldığım ekran görüntüsü :




1989 olan doğum tarihimi değiştirip, 1988 yaptığımda ise aldığım ekran görüntüsü:





Bu basit proje ile amacımız, internet ortamıdna yayınlanmakta olan hazır bir web servisin .net ile olan entegrasyonunu göstermek idi. Umarım birileri için faydalı olabilir :))

1 yorum:

Unknown dedi ki...

Merhaba,

Paylaşım için teşekkürler. Bu konuda bir sorunum var. Herşeyi sizin dediğiniz gibi yaprtım. Localhost'ta sorunsuz çalışan kodlar web'de hata veriyor. Bunun nedeni ne olabilir? Hosting firmam Amerika menşeli, datacenter'lar da orada. Nedeni bu mudur acaba?

Hata: "Bilgiler hatalı" hatası alsam da local'de sorun yok!

Teşekkürler.