RSS

[Sharepoint] Menambahkan WCF Services di dalam Sharepoint Server 2010

02 Sep

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. 

  1. Langkah pertama yang harus kita lakukan tentu saja membuat project baru dengan tipe  Empty SharePoint Project
  2. 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”

    Unload Project

    Klik kanan lagi pada projectnya –  klik “Edit WCFTest001.csproj” Edit

    Kemudian tambahkan baris kode dibawah ini Code

    Kemudian save dan klik kanan – Reload Project Reload

  3. 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>
    
  4. Setelah masalah Token Replacement selesai, kita perlu menambahkan folder _vti_bin pada Sharepoint Project _vti_binPilih ISAPI
    ISAPI
    Sekarang seharusnya ada folder ISAPI didalam project anda.
    ISAPI_2
  5. 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.
    WCF Lib
    Setelah meng-copy 2 class tadi ke project sharepoint, silahkan segera di hapus karena sudah tidak diperlukan.
    Pasca di copy
    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.
    messageBox
    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)
  6. Tambahkan baris kode dibawah ini pada class service
  7. Sekarang kita sudah mengetahui nama filenamespace 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 🙂

  8. 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.
  9. Pada akhirnya, project akan terlihat seperti gambar dibawah
    Tampilan akhir project
  10. Enable ‘Anonymous’ Authentication pada IIS


    enabled
  11. Klik kanan pada project – Deploy. Ketika keluar notif “Deploy Succeeded”, coba cek alamat url ini
    http://site_url/_vti_bin/service_Name.svc
  12. Nah, web services telah sukses ditambahkan pada Sharepoint Server, semoga bermanfaat ^_^
 
Leave a comment

Posted by on September 2, 2011 in .NET, Microsoft, Sharepoint

 

Leave a comment