Ara:

Şu an misafir modundasın. YazılımDevi olmak ister misin? Giriş Yap / Kayıt Ol

Makale Hakkında!

SQL Server'da Http Endpoint Olusturarak IIS Olmadan WebServis Kullanmak Makale Yazarı Okunma Sayısı Eklenme Tarihi
Engin Demiroğ 1879 15.05.2009

Makale Detayı

SQL Server'da Http Endpoint Olusturarak IIS Olmadan WebServis Kullanmak
Bir veri tabani uzmani, ya da programcisi olarak hiç ummadiginiz zamanlarda alakasiz durumlarla karsilasirsiniz. Bazen “ne isime yarayacak ki, ben zaten onu baska yollarla da yaparim” dediginiz sey karsiniza bir an da çikiverir. O olmazsa olmazdir.
 
Herhalde SqlServer 2005 ve sonrasinda gelen EndPoint ler az önce anlattigim durumlara örnek olarak verilebilir.
 
EndPoint nedir peki! Endpointler kullanicilarinizin(client) servislerinize nasil ulasacagini berlirleyen aracilardir. Dogal olarak URL seklinde olusurlar. WCF’in gündemimizi isgal etmeye baslamasiyla çogumuz bayagi ilgilenir olduk zaten.
 
Bu yazimda Stored Procedurelerimizi(artik SP diyecegim) EndPoint olarak nasil WebServis methodu gibi olusturacagimiza ve kullanacagimiza bakacagiz. Güzel yani IIS kurulu olmasi gibi bir derdiniz yok. Ama eger IIS ile Sql Server ayni portu dinliyorlarsa birinin default portunu degistirin ya da bu örnek için IIS’i durdurun.
 
1.ADIM: Öncelikle asagidaki gibi bir tablo olusturun

Siz varolan herhangi bir tablonuzu da kullanabilirsiniz.
 
2.ADIM: Asagidaki gibi bir SP olusturun.
CREATE proc [dbo].[kitapIsimleriniGetir]
as
begin
select ad from kitaplar
end
 
3.ADIM: Simdi sira endpointi olusturmaya geldi.
CREATE ENDPOINT KitaplarWebServisi
    STATE = Started
AS HTTP
 
    (
 
        PATH = '/Kitaplar',
 
        AUTHENTICATION = (INTEGRATED),
 
        PORTS = (CLEAR),
 
        SITE = '*'
 
    )
FOR SOAP
 
    (
 
        WEBMETHOD 'kitapIsimleriniGetir'
 
            (NAME = 'Kitaplar.dbo.kitapIsimleriniGetir'),
 
        WSDL = DEFAULT,
 
        DATABASE = 'Kitaplar',
 
        NAMESPACE = DEFAULT
 
    )
 
Burada “http” kisminda URL’in nasil olusturulacagi belirlenir. PATH = '/Kitaplar' localhost altinda “http://localhost/kitaplar?wsdl” seklinde bir URL olacagi anlamina gelir. Digerleri ise tamamen güvenlikle alakalidir.(Login,authentication mode, SSL vs.)
“SOAP” kisminda ise webMethodunuzun ismi, hangi SP’nin web method olarak kullanilacagi ve hangi veritabaninin kullanilacagi belirtilir.
Çalistirdiginiz zaman EndPointimiz SERVER OBJECTS altinda /EndPoints/SOAP/KitaplarWebServisi seklinde eklenecektir.
 
4.ADIM:  Artik yeni bir Visual Studio Projesi açip WebServis referansi yaparak olusturdugumuz WebServisi tüketebiliriz.
Ben bir Windows Forms Projesi olusturuyorum ve formum üzerine bir adet ComboBox kontrolü ekliyorum.

 
Sonra asagidaki adimlari takip ederek Web Servisi Referans ediyorum.
 
1.

 
2.

 
3. Web Servisiniz ve methodunuz geldikten sonra Add Reference butonuna tiklayarak projenize ekleyiniz.

 
5.ADIM: Formunuzun load eventine asagidaki kodlari yazarak web servisi tüketiniz.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
using WindowsFormsApplication25.Kitaplar;//EKLEMEYI UNUTMAYIN
 
namespace WindowsFormsApplication25
{
 
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            KitaplarWebServisi yeni = new KitaplarWebServisi();
 
            //Bu ismi EndPointi olustururken vermistik.
            yeni.Credentials = System.Net.CredentialCache.DefaultCredentials;
            DataTable dt = new DataTable("kitaplar");
            dt = (yeni.kitapIsimleriniGetir()[0] as DataSet).Tables[0];
 
            foreach (DataRow dr in dt.Rows)
            {
                comboBox1.Items.Add(dr["ad"].ToString());
            }
        }
    }
}
 
Sonuç:
Projenizi çalistirdiginizda sonuç asagidaki gibi olacaktir.
 

Umarim isinizi görecektir. Diger yazilarimda görüsmek dilegiyle.
 
Engin Demirog
 
engin@e-learner.net


Makale Tagları

Makale Dosyası

Makaleye Ait Dosya Bulunamamıştır

Paylaş


Yazar Hakkında
Genel Bilgiler   Yazar Hakkında
Ad: Engin Demiroğ 1985 doğumlu Engin Demiroğ Başkent Üniversitesi Yönetim Bilişim Sistemleri bölümü mezunudur. Lise yıllarından itibaren yazılım teknolojileri ile uğraşmaktadır. Bir çok kurumsal projede çalışmış olan yazarımız şu an İnfopark bünyesinde kamu kuruluşlarına ve özel kuruluşlara yazılım ve veritabanı danışmanlığı hizmeti vermektedir. Yazarımızın uzmanlaştığı alanlar .Net, Sql Server,Sharepoint,Team Foundation Server, Test ve Modellemedir. YazılımDevi.Com'un kurucularından olan Engin Demiroğ YazılımDevi.Com başta olmak üzere bir çok sitede yüzden fazla makale ve video yayını yapmıştır. Aynı zamanda yazarımız bir çok üniversite ve kuruluşta yüzden fazla eğitim ve semineri başarı ile yürütmüştür.
Kurum: İnfopark
Meslek: Yazilim Danışmanı / Eğitmeni
E-Mail: engin@yazilimdevi.com
Web Sitesi: http://www.engindemirog.com
Makale-Video: 194

Bu makale için yapılmış yorumlar

Bu makale hakkında yorum yapınız!...

Bu makale hakkında yorum yapabilmek için lütfen üye olunuz veya giriş yapınız.

Konular

Yazarlar

Son Eklenen Makaleler

Son Eklenen Videolar

Ziyaretçi İstatistiği

ImageOnline : 10         Bugün : 1377

Bu Ay : 8208        Bu Yıl : 58382

Toplam : 441221

Kullanıcı Giriş Paneli!
E-Mail:
Şifreniz:
Giriş Yap

Şifremi Unuttum!
E-Mail:
    Gönder