Hmm, topik yang akan kita bahas sekarang adalah cara menambahkan WCF Services di dalam Sharepoint Server 2010. Memang buat apa neh susah-susah nambahin WCF Services ke Sharepoint?
Jawabannya gampang aja, karena teknologi ini rencananya akan saya pakai sebagai topik Tugas Akhir saya, haha. Statement di atas cuma bercanda lho ya 🙂
Andaikan neh, ada sistem dengan platform non Microsoft yang ingin mengakses data pada Sharepoint Server, maka memakai web services merupakan suatu pilihan yang lebih mudah diterapkan. Seperti yang kita ketahui XML merupakan bahasa global yang dapat menghubungkan komunikasi antar platform sehingga memungkinkan untuk menciptakan sebuah Interopbility.
- Langkah pertama yang harus kita lakukan tentu saja membuat project baru dengan tipe Empty SharePoint Project
- Selanjutnya kita perlu melakukan Token Replacement. Sementara ini saya mengetahui ada 2 cara dalam melakukan token replacement.
Cara pertama adalah dengan mengubah konfigurasi token replacement pada project itu sendiri.
Klik kanan pada project – klik “Unload Project”Klik kanan lagi pada projectnya – klik “Edit WCFTest001.csproj”
Kemudian tambahkan baris kode dibawah ini
Kemudian save dan klik kanan – Reload Project
- Cara ke-2 yang dapat dilakukan adalah merubah konfigurasi pada Visual Studio.
Buka C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\SharePointTools
Buka Microsoft.VisualStudio.SharePoint.targets file menggunakan notepad atau alat bantu editing lainnya
Temukan tag TokenReplacementFileExtensions kemudian tambahkan svc pada list yang ada<TokenReplacementFileExtensions>$(TokenReplacementFileExtensions);xml;aspx;ascx;webpart;dwp;svc </TokenReplacementFileExtensions>
- Setelah masalah Token Replacement selesai, kita perlu menambahkan folder _vti_bin pada Sharepoint Project Pilih ISAPI
Sekarang seharusnya ada folder ISAPI didalam project anda.
- Klik kanan pada folder ISAPI – Add New Item – pilih Text File – beri nama WCFTest.svc. Lalu klik kanan pada solution, add project baru bertipe WCF Service Library. Sebenarnya kita cuma memerlukan 2 class yang digenerate otomatis sama WCF Service Library.
Setelah meng-copy 2 class tadi ke project sharepoint, silahkan segera di hapus karena sudah tidak diperlukan.
Rename 2 class yang baru aja dicopy tadi, Service1.cs dan IService1.cs dengan nama seperti yang kalian inginkan.
Pastikan keluar message box seperti dibawah ini karena proses rename juga mengubah nama namespacenya.
Nah, sekarang di file masing-masing akan dijumpai banyak sekali error. Tapi jangan khawatir, karena kita cukup menambahkan tambahan reference dibawah ini
– System.ServiceModel
– System.Runtime.Serialization
– Microsoft.SharePoint.Client.ServerRuntime.dll (dapat ditemukan pada C:\windows\assembly\GAC_MSIL\Microsoft.SharePoint.Client.ServerRuntime\
14.0.0.0__[something]\Microsoft.SharePoint.Client.ServerRuntime.dl) - Tambahkan baris kode dibawah ini pada class service
- Sekarang kita sudah mengetahui nama file, namespace dan nama class, buka WCFTest.svc dan copy code dibawah
<%@ ServiceHost Debug="true" Language="C#" Service="WCFTest001.Test001Service, $SharePoint.Project.AssemblyFullName$" CodeBehind="Test001Service.cs" %>
Nah, disini ada potongan code
$SharePoint.Project.AssemblyFullName$
Hal ini ada hubungannya dengan Token Replacement yang tadi kita bahas. $SharePoint.Project.AssemblyFullName$ akan di replace dengan assembly name yang saya juga sebenernya gag tau itu apa, tapi itu penting 🙂
- Langkah selanjutnya ada membuat web.config.
Klik kanan pada ISAPI folder, tambahkan text file lagi, kali ini beri nama web.config
Pastikan untuk mengedit code yang berwarna merah.
- Pada akhirnya, project akan terlihat seperti gambar dibawah
- Enable ‘Anonymous’ Authentication pada IIS
- Klik kanan pada project – Deploy. Ketika keluar notif “Deploy Succeeded”, coba cek alamat url ini
http://site_url/_vti_bin/service_Name.svc
- Nah, web services telah sukses ditambahkan pada Sharepoint Server, semoga bermanfaat ^_^