Sigit Purnomo

C# Programming: Creating a Simple Web Service

Posted: July 12th 2006

Pengantar
Seringkali orang salah kaprah mengartikan Web services sebagai aplikasi Web biasa yang dibangun menggunakan ASP, ASP.NET, PHP dan server-side scripting yang lainnya. Web services sebenarnya merupakan business logic yang dapat digunakan baik pada aplikasi berbasis Web, desktop maupun mobile yang merupakan presentation layer dari sebuah aplikasi. Btw, berikut ini definisi ‘asli’ dari Web services menurut Webopedia dan W3C.

Web services describes a standardized way of integrating Web-based applications using the XML, SOAP, WSDL and UDDI open standards over an Internet protocol backbone. XML is used to tag the data, SOAP is used to transfer the data, WSDL is used for describing the services available and UDDI is used for listing what services are available (more…).

A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards (more…).

Creating Web Services dengan C#

  • Dari Start menu, pilih Programs | Microsoft Visual Studio. NET 2003 | Microsoft Visual Studio .NET 2003
  • Pilih menu File| New | Project dan akan ditampilkan common dialog New Project
  • Pada panel Project Types pilih Visual C# Projects
  • Klik ASP.NET Web Service pada panel Templates
  • Ketik http://localhost/simpleCalc pada panel Location
  • Klik OK

New Project Common Dialog

Exposing a Method as a Web Service

  • Pilih dan rename file Service1.asmx pada Solution Explorer dengan nama simpleCalc.asmx.
  • Pilih file simpleCalc.asmx pada Solution Explorer, klik kanan dan pilih View Code

View Code

  • Edit bagian class name dan constructor dari namespace simpleCalc menjadi calcService.

Code Editing

  • Buat fungsi baru dibagian bawah Web Service Example dengan nama addNumber (operasi penjumlahan), subtractNumber (operasi pengurangan), divNumber (operasi pembagian), multiplyNumber (operasi perkalian), dan validateInput (validasi input) dan implementasikan method untuk mengembalikan nilai dari fungsi-fungsi tersebut .
  • Tambahkan atribut [WebMethod] di atas kode fungsi-fungsi yang telah kita buat. Fungsi atribut ini untuk memberitahu .NET agar fungsi yang telah kita buat diekspos sebagai Web services. Jika atribut ini tidak kita tambahkan, maka fungsi kita tidak akan diekspos pada Web services (silahkan dibandingkan sendiri hehehe :p).

[WebMethod]
public bool validateInput(string  strInput)
{
      int i;

      for (i=0;i
      {
          if  (Char.IsLetter(strInput,i)==true)
          {
              return  false;
          }
      }
      return true;
}

[WebMethod]
public float addNumber(float nNum1, float  nNum2)
{
     float addResult;

     addResult = nNum1 + nNum2;
     return addResult;
}

[WebMethod]
public float subtractNumber(float nNum1, float  nNum2)
{
     float subtractResult;

     subtractResult = nNum1 - nNum2;
     return subtractResult;
}

[WebMethod]
public float divNumber(float nNum1, float  nNum2)
{
    float divResult;

    if (nNum2==0)
   {
        return  -1;
   }
   else
   {
       divResult = nNum1 /  nNum2;
   }
   return divResult;
}

[WebMethod]
public float multiplyNumber(float nNum1, float  nNum2)
{
    float multiplyResult;

    multiplyResult = nNum1 * nNum2;
    return  multiplyResult;
}

Testing Web Service

  • Pilih file simpleCalc.asmx pada Solution Explorer, klik kanan dan pilih Set as Start Page.
  • Tekan CTRL+F5 untuk men-compile Web services yang telah kita buat.
  • Visual Studio .NET akan membuka sebuah halaman Web, untuk proses testing Web services tanpa mengimplementasikan pada aplikasi tertentu.

Calculator Web Service

  • Untuk menampilkan test page, klik salah satu link (misal link addNumber).

Web Service Page Test

  • Invoke Web Service dari test page, masukkan nilai Parameter yang diperlukan pada tempat yang ada (misal 4 dan 6) dan klik Invoke.
  • <?xml version=”1.0″ encoding=”utf-8″ ?>
    <float xmlns=”http://tempuri.org/”>10</float>

  • Uji file Web Service Description Language(WSDL) yang disediakan .NET bagi user dari service yang telah kita buat. Klik Service Description atau ketik http://localhost/simpleCalc/simpleCalc.asmx?wsdl pada Address Bar browser Anda.

Web Service Description Language

  • Definisi WSDL menyediakan infromasi mengenai protocol SOAP, HTTP GET dan HTTP POST untuk menjelaskan bagaimana Web service dapat kita akses menggunakan protocol yang berbeda. SOAP digunakan oleh aplikasi client untuk mengakses Web service, sedangkan Web browser menggunakan HTTP GET method ketika kita memanggil Web service.

Download File: Web Service

to be continued…

Part 2: Accessing the Web Service from Desktop Application


19 responses to “C# Programming: Creating a Simple Web Service”

  1. Alex says:

    Artikel yang menarik. Tapi perlu diperhatikan juga kalau masih diserialisasi dengan XML, sama aja seperti membunuh semut dengan meriam 🙂
    Saat ini sudah ada banyak pengembangan dari Web Service ini yang dikenal dengan Web Service Enhancements 3.0 dimana dengan peningkatan teknologi ini memungkinkan sebuah Web Service diserialisasi dengan binary. Dan tentu saja dengan ukuran paket yang lebih kecil. Selain itu ditambah pula beberapa filtur untuk security.
    Artikel, HOL dan WSE 3.0 ini bisa didownload di : http://www.microsoft.com/downloads/

  2. MUMET!
    Saya bikin gak ribet gitu deh kemarin.
    hihihi…

  3. […] Tutorial ini merupakan kelanjutan dari tutorial sebelumnya (Creating a Simple Web Service). Pada tutorial yang pertama kita telah membuat sebuah Web services yang memiliki 5 method, yaitu addNumber untuk menjumlahkan dua buah angka, subtractNumber yang berfungsi untuk mengurangkan dua buah angka, divNumber yang berfungsi untuk membagi dua buah angka, multiplyNumber yang berfungsi untuk mengalikan dua buah angka, dan validateInput yang berfungsi untuk melakukan validasi terhadap input yang dimasukkan pada medan isian angka pertama dan kedua. […]

  4. […] Tutorial ini merupakan kelanjutan dari tutorial sebelumnya (Creating a Simple Web Service dan Accessing the Web Service from Desktop Application). Pada tutorial yang pertama kita telah membuat sebuah Web services yang memiliki 5 method, yaitu addNumber untuk menjumlahkan dua buah angka, subtractNumber yang berfungsi untuk mengurangkan dua buah angka, divNumber yang berfungsi untuk membagi dua buah angka, multiplyNumber yang berfungsi untuk mengalikan dua buah angka, dan validateInput yang berfungsi untuk melakukan validasi terhadap input yang dimasukkan pada medan isian angka pertama dan kedua. Pada bagian yang kedua kita telah mencoba untuk mengakses web service yang telah dibuat pada bagian pertama melalui desktop application. […]

  5. […] Tutorial ini merupakan kelanjutan dari tutorial sebelumnya (Creating a Simple Web Service, Accessing the Web Service from Desktop Application dan Accessing the Web Service from ASP.NET Web Application). Pada tutorial yang pertama kita telah membuat sebuah Web services yang memiliki 5 method, yaitu addNumber untuk menjumlahkan dua buah angka, subtractNumber yang berfungsi untuk mengurangkan dua buah angka, divNumber yang berfungsi untuk membagi dua buah angka, multiplyNumber yang berfungsi untuk mengalikan dua buah angka, dan validateInput yang berfungsi untuk melakukan validasi terhadap input yang dimasukkan pada medan isian angka pertama dan kedua. Pada bagian yang kedua kita telah mencoba untuk mengakses web service yang telah dibuat pada bagian pertama melalui desktop application. Pada bagian ketiga dilanjutkan untuk mengakses web service yang telah dibuat pada bagian pertama melalui web application. […]

  6. […] ini merupakan kelanjutan dari tutorial sebelumnya (Creating a Simple Web Service dan Accessing the Web Service from Desktop Application). Pada tutorial yang pertama kita telah […]

  7. rahadi says:

    mas! kalo yang versi php ada gak tutorialnya??

    salam kenal,

    -rahadi-

  8. Arul says:

    Kalo untuk platform PHP pake NuSOAP aja, coba cek link ini:
    http://www.hatma.info/?cat=15

  9. dewi says:

    sylm…
    tq buat artikelx. saya mo nanya, saya sekarang lg ngerjain tugas tentang clustering dokumen.skarang lg mo ngerjain preprocessing…gmn caranya kita bisa ngebuka dokumen/file dengan c#.tolong di bantu yah…kalo bisa tolong kirim informasinya lewat email saya.terimakasih…

  10. y_sigit_p says:

    #dewi:
    coba menggunakan FileSystem Object… atau kalau tidak, langsung saja pakai OpenFile… di MSDN/Help-nya (kalau di-install) ada sample-nya…

  11. dewi says:

    sylm…
    trimakasih k’sigit..q dah bisa mengebaca file dlm suatu folder en ngelakuin index file trsbt.q mo nanya tntg clustering ..kira2 sbaik x saya menggunakan algoritma apa yah buat clustering.algoritma yg simple tapi hasil x akurat.gmn mnurut k’sigit?
    tq..

  12. y_sigit_p says:

    #dewi:
    sejauh yang saya tau yang paling banyak digunakan algoritma k-means…

  13. Ferdi says:

    emm..saya numpang tanya, kebetulan saya sedang mendalami asp.net c#. saya ingin menampilkan suatu data (image,video,text) dengan menggunakan page 1,2,3,4 gitu..ada referensinya ga pak???

  14. y_sigit_p says:

    #Ferdi:
    sejauh yang saya tau, di ASP.NET C# sudah ada mekanisme untuk pagingnya, coba dieksplorasi lagi…

  15. Ferdi says:

    makasih pak..d gridview si ada fasilitas untuk paging tp berdasarkan info yang saya baca d internet katanya cukup baik untuk data yang kecil klo untuk data yang besar/banyak kurang..mgkn bapak pny solusinya?

    oya,,,saya ingin capture image dari file video yang d upload user,,lg bingung ni,pak…ada solusi ga??

  16. zherdy says:

    SANGAT SANGAT BERGUNA sekali….makasih pak..

  17. Lucia says:

    bermanfaat sekali..trimakasih…

    ditunggu coding2 lainnya ^^

  18. tovan says:

    terima kasih Pak tutornya kebetulan lagi tugas bikin web service pake .NET.

    saya sudah coba koding ini tapi kenapa tidak bisa jalan ya saat d test? saya pakai OS Vista Ultimate SP1, Visual Studio 2008,xampp. padahal IIS nya sudah nyala. muncul tulisan seperti ini di web nya:

    “Object not found!

    The requested URL was not found on this server. If you entered the URL manually please check your spelling and try again.

    If you think this is a server error, please contact the webmaster.
    Error 404
    localhost
    04/28/09 23:06:36
    Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i PHP/5.2.9 ”

    mohon sekali penjelasannya Pak. ini pertama kalinya saya bikin web service pakai .NET..

  19. y_sigit_p says:

    @tovan:
    hmmm… kalau melihat spesifikasinya, kemungkinan karena Web Server yang aktif-nya Apache dan bukan IIS-nya… coba service Apache yang di XAMPP-nya dimatikan dulu kemudian pastikan bahwa jika diakses localhost, muncul halaman yang menunjukkan bahwa IIS-nya aktif…
    btw, untuk di visual studio 2008, bukannya bisa langsung di-run dari IDE-nya?

Leave a Reply

Your email address will not be published. Required fields are marked *

© 2021 Universitas Atma Jaya Yogyakarta
css.php