Pemanggilan RESTful Web Service PHP dari Client Java Husni@trunojoyo.ac.id Bagaimana memanggil atau memgakses RESTful web service PHP dari client yang ditulis dengan Java? Cukup mudah. Tutotial ini akan memperlihatkannya. Namun, sebelumnya membuat client web service di Java (kelas.java), kita harus membuat RESTful Web Service (servernya) dengan PHP terlebih dahulu. Kebutuhan dasar untuk membuat RESTful web service PHP adalah XAMPP server (https://www.apachefriends.org/index.html) yang di dalamnya sudah terdapat PHP dan Apache. Langkah-langkah membuat RESTful web service PHP adalah Langkah : Buat sebuah file.php di lokasi web server (Contoh: utuk XAMPP server, buat di bawah folder htdocs). Untuk menampilkan struktur direktori, kita dapat menggunakan IDE seperti Eclipse for PHP. Struktur direktori untuk RESTful web service PHP kita terlihat seperti dibawah ini. Langkah : Salin kode berikut ke dalam file functions.php dan restfulphp.php. functions.php <?php // fungsi akan memberikan nama negara berdasarkan parameter input function wonderlocatedplace($name) { if(!empty($name)) { $wonders=array('china'=>'great Wall of China', 'Jordan'=>'Petra',
7 0 7 0 7?> 'Brazil'=>'Christ the Redeemer', 'Peru'=>'Machu Picchu', 'Mexico'=>'Chichen Itza', 'Italy'=>'Colosseum', 'India'=>'Taj Mahal', 'Egypt'=>'Great Pyramid of Giza'); foreach($wonders as $Palce=>$wonderName) { if($name==$wondername) { $wonderplace = $Palce; break; $wonderplace = "Wonder not exist with the given name" ; $wonderplace = "Please enter a wonder name"; return $wonderplace; restfulphp.php 7 0 7 0 7 <?php //memroses request dari client (via url) header("content-type:application/json"); include("functions.php"); if(!empty($_get['wondername'])) { $wondername = $_GET['wonderName']; $place = wonderlocatedplace($wondername); if(empty($place)) deliver_response(00,"wonder not found",null); else deliver_response(00,"wonder found",$place); deliver_response(00,"request is not valid",null); function deliver_response($status,$status_message,$data) { header("http/. $status $status_message") ; $response['status_code'] = $status; $response['status_message'] = $status_message; $response['result']=$data; $json_response = json_encode($response); echo $json_response;?>
Langkah : Jalankan web server yang digunakan PHP (Apache di dalam XAMPP ). Langkah : Test web service tersebut menggunakan suatu web browser dengan URL berikut: http://localhost/phpserviceexe/restfulphp.php?wondername=taj%0mahal dimana: http:// merepresentasukan protokol HTTP localhost alamat dari mesin lokal, IP Addressnya: 7.0.0. phpserviceexe folder yang dibuat di dalam htdocs. restfulphp.php nama file PHP (file service PHP) wondername nama parameter. Taj%0Mahal nilai dari parameternya. Sekarang saatnya kita membuat kelas.java untuk memanggil RESTful web service PHP tersebut. Langkah-langkah pemanggila RESTful web service PHP dari Client Java adalah Langkah : Buat suatu proyek Dynamic Web di dalam IDE Eclipse atau NetBeans. Langkah : Buat suatu paket (Misal: restfuljavaclientforphpwebservice) dan sebuah kelas Java (Misal: javaclientforphpservice.java). Langkah : Ekstrak dan tambahkan file-file jar dari Jersey ke dalam dolder lib. Sehingga struktur direktori keseluruhan terlihat sebagai berikut:
Langkah : Salin kode berikut ke dalam file javaclientforphpservice.java: 7 0 7 0 7 package restfuljavaclientforphpwebservice; import com.sun.jersey.api.client.client; import com.sun.jersey.api.client.clientresponse; import com.sun.jersey.api.client.webresource; public class javaclientforphpservice { public static void main(string [] args) { new javaclientforphpservice().getplaintextresponse(); private void getplaintextresponse() { try { Client client = Client.create(); WebResource webresource = client.resource("http://localhost/ phpserviceexe/restfulphp.php?wondername=taj%0mahal"); ClientResponse response = webresource.accept("").get(clientresponse.class); if (response.getstatus()!= 00) { throw new RuntimeException("Failed : HTTP error code : " + response.getstatus()); String output = response.getentity(string.class); System.out.println("\n=====Plain Text Response======"); System.out.println(output); catch (Exception e) { e.printstacktrace(); //end of method
Langkah : Jalankan kelas Java tersebut. Hasilnya seperti di bawah ini: Pastikan bahwa web server yang digunakan oleh PHP telah berjalan sehingga dapat melayani permintaan dari Client Java.