Apakah itu Web Service? Silahkan cari di Google atau dari msdn microsoft sudah lengkap.
Secara singkat menurut W3C definisi Web Service:
A web service is a software application identified by a URI, whose interfaces and bindings are capable of being defined, described and discovered as XML.
A web service supports direct interactions with other software agents using XML-based messages exchanged via Internet-based protocols binding.
Disini saya memberikan sedikit contoh membuat Web Service SEDERHANA dengan menggunakan Visual Studio 2012 untuk mengambil data dari SQL Server 2012. Langsung saja.
Pertama, create New Project -> ASP.NET Empty Web Application
Setelah muncul di Solution Explorer kemudian klik kanan di Project tersebut danAdd -> New Item dan pilih di bagian Web – Web Service (dengan ekstensi .asmx). Jika sudah maka akan tampak seperti dibawah ini:
Kemudian lakukan test service HelloWorld bawaan Visual Studio dengan klik Run, maka di browser akan tampak service HelloWorld seperti dibawah ini:
Klik service HelloWorld tersebut sehingga akan masuk ke halaman untuk melakukanTest terhadap service tersebut seperti gambar dibawah ini:
Klik tombol invoke tersebut maka akan muncul Tag XML Hello World, yang artinya method HelloWorld() diatas dapat dipanggil.
Langkah selanjutnya adalah membuat satu method getDataAgreement() untukmengambil data dari Database.
public
DataSet getDataAgreement()
{
SqlConnection conn =
new
SqlConnection(
"Server=256CFS0414\\SQLSERVER2012;Database=NORTHWND;User ID=sa;Password=********"
);
conn.Open();
string sql =
"SELECT [NoAgreement],[NamaCustomer],[AlamatCustomer],[JumlahAsset],[Keterangan] "
;
sql +=
" FROM [NORTHWND].[dbo].[DataAgreement] "
;
SqlCommand cmd =
new
SqlCommand(sql, conn);
cmd.ExecuteNonQuery();
SqlDataAdapter da =
new
SqlDataAdapter(cmd);
DataSet ds =
new
DataSet();
da.Fill(ds);
conn.Close();
return
ds;
}
Simpan dan Rebuild Project, kemudian klik Run Debug, maka tampilan di browser sekarang ada dua service, yaitu HelloWorld dan getDataAgreement.
Jika service getDataAgreement tersebut di-invoke maka akan me-return XML yang berisi data-data Agreement.
Ini menunjukan service getDataAgreement berhasil mengambil data-data dari Database, selanjutnya membuat suatu aplikasi Web Form yang memanggil service tersebut.
Tambahkan satu Project baru dengan klik solution dan Add -> New Project, pilihASP.NET Empty Web Application.
Maka pada Solution Explorer akan ada dua project, yang pertama untuk Web Service dan yang kedua untuk Web application, tampak seperti dibawah:
Selanjutnya pada Project WebApplicationNorthwind tambahkan Service Reference dengan cara klik kanan Project dan pilih Add Service Reference, kemudian klik Discover atau masukan manual URL Web Service tadi. Maka akan tampak seperti dibawah ini dan beri nama Namespace-nya.
Untuk menampilkan data, pada Project Web Application tambahkan Web Formdengan cara klik kanan pada Project, klik Add – Web Form. Disini diberi namaAgreementList.aspx
Halaman AgreementList.aspx
<%@ Page Language=
"C#"
AutoEventWireup=
"true"
CodeBehind=
"Agreement.aspx.cs"
Inherits=
"WebNorthwind._Default"
%>
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
<head id=
"Head1"
runat=
"server"
>
<title>Getting Data Agreement from WebService</title>
</head>
<body>
<form id=
"form1"
runat=
"server"
>
<div>
<table>
<tr>
<td>
<b>Click
for
Data Agreement:</b>
</td>
<td>
<asp:Button ID=
"btnSubmit"
runat=
"server"
Text=
"Get Data Agreement"
onclick=
"btnSubmit_Click"
/>
</td>
</tr>
</table>
</div>
<div>
<asp:GridView ID=
"gvDataAgreement"
runat=
"server"
EmptyDataText=
"No Record Found"
>
<RowStyle BackColor=
"#EFF3FB"
/>
<FooterStyle BackColor=
"#507CD1"
Font-Bold=
"True"
ForeColor=
"White"
/>
<PagerStyle BackColor=
"#2461BF"
ForeColor=
"White"
HorizontalAlign=
"Center"
/>
<HeaderStyle BackColor=
"#507CD1"
Font-Bold=
"True"
ForeColor=
"White"
/>
<AlternatingRowStyle BackColor=
"White"
/>
</asp:GridView>
</div>
</form>
</body>
</html>
Klik kanan pada halaman AgreementList.aspx dan pilih View Code, kemudian buat satu method getDataAgreement() untuk meng-consume Web Service dengan memanggil Web Service Soap Client, sehingga memanggil servicegetDataAgreement().
protected
void
getDataAgreement()
{
ServiceReferenceNorthwind.WebServiceNorthwindSoapClient soapClient =
new
ServiceReferenceNorthwind.WebServiceNorthwindSoapClient();
gvDataAgreement.DataSource = soapClient.getDataAgreement();
gvDataAgreement.DataBind();
}
protected
void
btnGetDataAgreement_Click(object sender, EventArgs e)
{
this
.getDataAgreement();
}
Halaman web AgreementList.aspx ketika dijalankan
Kemudian klik Button Get Data Agreement, untuk memanggil servicegetDataAgreement dan data Agreement akan binding dengan GridView seperti gambar dibawah:
No comments:
Post a Comment