Selasa, 31 Maret 2009

Membuat Web Service Dengan C# Sebagai Server dan Java Sebagai Client

Web Service yang akan dibangun disini akan menggunakan tool sebagai berikut:

  1. Microsoft Visual Studio 2005 (C#)
  2. Netbeans 6.5 (Java)

Pada prinsipnya membangun web service menggunakan bahasa pemrograman apapun adalah sama. Pertama kali kita ciptakan business method dan dapatkan alamat WSDL.

Oke deh, kita mulai aja.

Pertama-tama, kita akan membuat server dengan membuka Visual Studio 2005 -> pilih file -> New Web Site -> ASP.NET Web Service -> tentukan lokasi project -> OK.

Secara default akan dihasilkan satu method HelloWorld. Untuk membuat method baru , kita dapat menambahakan method yang lain, misal method tambah seperti berikut:



using System;

using System.Web;

using System.Web.Services;

using System.Web.Services.Protocols;

[WebService(Namespace = "http://tempuri.org/")]

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

public class Service : System.Web.Services.WebService

{

public Service () {

//Uncomment the following line if using designed components

//InitializeComponent();

}

[WebMethod]

public string HelloWorld() {

return "Hello World";

}

[WebMethod]

public string tambah(int a,int b) {

return a+b;

}

}


Setelah method tersebut ditambahkan, maka kita dapat menjalankan web service, untuk itu kita pilih menu Debug -> Start Debugging atau menekan tombola F5. Jika muncul peringatan, OK aja. Maka akan muncul tampilan berikut:



Klik link bagian Service.asmx, akan muncul 2 method yang dibangun, yaitu method HelloWorld sebagai method default dan method tambah yang telah ditambahkan sebelumnya.



Kita dapat mengetest method yang telah dibangun dengan mengklik nama method. WSDL dapat kita dapatkan dengan mengklik service description, kemudian kita copy URL nya



Url yang didaptkan disitu adalah : http://localhost:3719/WebSite1/Service.asmx?WSDL

Setelah kita dapatkan WSDL, kita akan membuat bagian Client dengan menggunakan Java. Bukan netbeans, kemudian pilih new Project-> java -> Java Application -> Next -> Berikan nama dan lokasi project -> Finish


Setelah membuat project Java, maka hal yang dilakukan setelahnya adalah mengimpor web service yang telah dibangun menggunakan C# tadi. Klik kanan pada project -> New -> Web Service Client -> Pilih opsi WSDL URL, kemudian copykan WSDL URL dari server -> Finish.


Kemudian kita tinggal membuat tampilan dari program, tampilan dapat berupa SWING / WEB (jika web application) ataupun CONSOLE. Disini kita akan membuat tampilan ke console biasa….


Klik kanan project -> new -> java Class -> beri nama class CobaWebService dan package (coba) kemudian finish. Kita buat method main , kemudian kita isikan code untuk mengambil web service. Klik kanan di source code -> call web service resources -> call web service operation -> pilih method tambah -> OK


Source code yang akan digenerate akan sbb :


package coba;

public class CobaWebService {

public static void main(String[] args) {

try { // Call Web Service Operation

org.tempuri.Service service = new org.tempuri.Service();

org.tempuri.ServiceSoap port = service.getServiceSoap();

// TODO initialize WS operation arguments here

int a = 0;

int b = 0;

// TODO process result here

int result = port.tambah(a, b);

System.out.println("Result = "+result);

} catch (Exception ex) {

// TODO handle custom exceptions here

}

}

}


Terdapat 2 parameter yang diinputkan , yaitu a dan b, coba diubah nilainya dengna nilai yang diinginkan (misal a=1, b=9) . Jalankan dengan run class tersebut, jika benar akan mengluarkan result yang diinginkan (1+9=10). ^^