Postingan kali ini masih melanjutkan pembahasan tentang pembuatan web service menggunakan WCF, tapi sebelum kita melanjutkan pembahasan ada baiknya kita melakukan sedikit review.
- Pembahasan secara umum apa itu WCF, dan project apa saja yang harus kita persiapkan untuk mengimplementasikannya sudah kita bahas di bagian #1
- Di bagian #2 kita membuat project server yang mengimplementasikan service-service apa saja yang tersedia untuk bisa diakses oleh aplikasi klien
- Agar semua service ini bisa diakses oleh klien, kita perlu sebuah wadah/host untuk menjalankan web service, ini juga sudah kita bahas di bagian #3
Berarti sekarang waktu yang tepat untuk mengetes apakah web service yang sudah kita buat berfungsi dengan baik atau belum.
Ada banyak cara untuk mengetes web service yang dibuat menggunakan WCF, kita akan bahas dua di antaranya yaitu :
- Tes Menggunakan Aplikasi WCF Test Client
- Tes Menggunakan Aplikasi Buatan Sendiri
1. Tes Menggunakan Aplikasi WCF Test Client
Secara default pada saat kita menginstall Visual Studio .NET, installer tidak membuat shortcut untuk aplikasi WCF Test Client
, sehingga kita perlu menjalankannya secara manual di lokasi berikut :
1
|
|
Lokasi di atas harus disesuaikan dengan versi Visual Studio .NET Anda.
Berikut adalah tampilan aplikasi WCF Test Client
Untuk menambahkan url/link web service, klik menu File -> Add Service …, setelah itu inputkan link web service
Contoh link di atas kita dapatkan dari postingan sebelumnya.
Jika berhasil akan tampil di panel sebelah kiri daftar service dari ServiceCalculator.
Dari mana datangnya nama-nama service di atas seperti Penambahan dan Pengurangan ? Nama-nama service di atas di generate berdasarkan nama-nama method abstract yang ada di project CalculatorLib
Berikutnya kita akan tes salah satu service, misal service Penambahan. Caranya adalah dengan mengklik ganda nama service Penambahan.
Setelah itu di panel sebelah kanan akan tampil form yang inputannya sesuai dengan parameter dari service Penambahan.
Langsung saja kita masukan nilai a dan b-nya, kemudian klik tombol Invoke
Dari hasil tes di atas kita bisa lihat bahwa service Penambahan berfungsi dengan benar karena penambahan nilai 5 + 2
menghasilkan 7
.
2. Tes Menggunakan Aplikasi Buatan Sendiri
Setelah tes menggunakan aplikasi WCF Test Client berhasil, kita akan mencoba membuat aplikasi sendiri untuk mengakses WCF web service dan untuk menyederhanakan contoh program, kita hanya membuat aplikasi berbasis console. Tapi sebelumnya aktifkan kembali solution Calculator yang di dalamnya sudah ada project CalculatorLib dan CalculatorServer.
Kita akan menambahkan project CalculatorClient masih di solution yang sama
Menambahkan project CalculatorClient
Klik kanan Solution Calculator -> Add -> New Project
Pada dialog Add New Project aktifkan pilihan Visual C# kemudian pilih Templates Class Library
Pada isian Name isikan CalculatorClient untuk isian Location dibiarkan saja setelah itu klik Ok. Jika langkah sebelumnya berhasil maka pada solution Calculator akan ketambahan 1 project baru yaitu CalculatorClient.
Kemudian klik ganda class Program, setelah itu akan tampil editor code class Program
Sampai di sini kita akan menambahkan sebuah method dengan nama GetHttpProxy
. Sesuai namanya method GetHttpProxy
berfungsi untuk mengenerate objek proxy
.
Apa itu objek proxy
? Objek proxy
merupakan representasi dari service contract
sehingga objek proxy mempunyai operasi yang sama dengan service contract
. Selain itu semua method yang dipanggil melalui objek proxy akan dieksekusi secara remote (dijalankan di sisi server)
Sumber - Top WCF Tutorial
Berikut adalah kode dari method GetHttpProxy
Agar method GetHttpProxy
di atas berfungsi dengan baik, kita juga harus menambahkan referensi System.ServiceModel
Kemudian mendaftarkannya di bagian using
Selain itu kita juga perlu menambahkan referensi ‘CalculatorLib`
Dan mendaftarkannya dibagian using
Kenapa perlu menambahkan referensi CalculatorLib
, karena kita akan mengakses interface ICalculator
dan method-method abstractnya melalui method GetHttpProxy
Setelah semua persiapan kode selesai, kita tinggal melengkapi method Main yang di dalamnya kita memanggil url/link web service melalui method GetHttpProxy
.
Jika kode di atas dijalankan akan menghasilkan output seperti berikut
Selamat MENCOBA :)