BLANTERWISDOM101

Membuat Web Service XML (WSDL) Sederhana Dengan Menggunakan NuSOAP + PHP

Selasa, 17 November 2020

Hallo, kali ini kami akan membagikan cara membuat web service sederhana berbasis XML (WSDL) dengan menggunakan NuSOAP + PHP. Web service ini menggunakan protokol standar yaitu WSDL  (Web Service Definition Language) atau SOAP (Simple Object Access Protocol). 

web service dalam php dengan nusoap

Langsung saja dibawah ini:

1. Download NuSOAP terlebih dahulu disini: https://sourceforge.net/projects/nusoap/

2. Setelah di Download, buka file kompresi dengan winRAR atau ZIP kemudian pilih file nusoap.php pada folder lib.

nusoap_lib

3. Setelah itu copy kan file nusoap.php ke dalam folder yang akan di gunakan di folder htdocs. Untuk lokasi penempatan filenya bisa mengikuti dibawah ini.
nusoap folder

4. Buka XAMPP dan klik Config pada baris Apache kemudian pilih atau klik PHP (php.ini) 
php ini xampp

5. Setelah file php.ini terbuka, silahkan cari kata soap dengan menekan tombol ctrl+f kemudian masukkan kata "soap" (tanpa tanda kutip), kemudian klik find next. Jika sudah bertemu dengan kata ;extension = soap, hapus tanda titik koma (;) di depan kata extension sehingga menjadi seperti di gambar dibawah ini. Setelah itu, simpan atau save dengan menekan tombol ctrl + s  atau melalui File > Save. 
php ini soap

6. Setelah itu, aktifkan services Apache pada XAMPP dengan mengklik tombol start pada bagian Apache. Setelah itu tunggu sebentar hingga aktif seperti dibawah ini.
apache xampp

7. kemudian di dalam folder projects kalian atau folder yang terdapat file nusoap.php, buatlah satu file berekstensi php dengan nama server.php. Untuk membuatnya, kalian dapat menggunakan text editor seperti Notepad, Notepad++, Sublime Text, atau Visual Code Studio. Disini saya menggunakan Visual Studio Code.
server php

server php 2

8. Jika sudah membuat file server.php, tahap selanjutnya adalah memasukkan code dibawah ini kedalam file. Cukup copy kan code dibawah ini. Setelah di copy kedalam file, simpan file ini (ctrl+s).
<?php
require_once 'nusoap.php';

$server = new nusoap_server();

$namespace = 'http://localhost';

$server -> configureWSDL('server_wsdl','urn:server_wsdl');

$server->register('hello',                // method name
    array('name' => 'xsd:string'),        // input parameters
    array('return' => 'xsd:string'),    // output parameters
    'urn:hellowsdl',                    // namespace
    'urn:hellowsdl#hello',                // soapaction
    'rpc',                                // style
    'encoded',                            // use
    'Says hello to the caller'            // documentation
);

function hello($name) {
    return ' Hello, '.$name;
}


$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA'';
$server->service(file_get_contents("php://input"));
exit();

?>

9. Kemudian buat satu file lagi untuk client. Buat file dengan nama client.php, setelah itu copy kan kode dibawah ini kedalam file client.php. Setelah itu simpan atau save file nya.
<?php
require_once 'nusoap.php';

$client=new nusoap_client('http://localhost/XML/nusoap/server.php?wsdl''wsdl',true);
$err = $client->getError();
if($err){
    echo 'Error'.$err;
}

$result=$client->call('hello',array('name' => 'Nazrin NRN'));
if($client->fault){
    echo 'Fault';
    print_r($result);
}else{
    $err=$client->getError();
    if($err){
        echo 'Error'.$err;
    }else{
        echo 'Result';
        print_r($result);
    }
}

echo '<h2>Request</h2>';
echo '<pre>'.htmlspecialchars($client->request,ENT_QUOTES).'</pre>';
echo '<h2>Respond</h2>';
echo '<pre>'.htmlspecialchars($client->request,ENT_QUOTES).'</pre>';

?>

10. Jika sudah, silahkan buka file client.php di dalam localhost. Service yang sudah bekerja (tanpa erorr) baik dari sisi server maupun client akan berbentuk seperti dibawah ini. 

request success

Service akan menampilkan request berupa array nama yang telah dibentuk didalam client tadi ('name' => 'Nazrin NRN'). Kalian dapat mengganti nama Nazrin NRN dengan nama kalian atau kata-kata lain.

Sekian tutorial Web Service WSDL dengan menggunakan NuSOAP + PHP kali ini, semoga bermanfaat dan dapat membantu kalian yang ingin mempelajari Web Service. Terima kasih atas kunjungannya!


Share This :
Nazrin NRN

Nazrin (ナズーリン Nazūrin) is a mouse youkai who's a skilled dowser and the leader of a great number of mice. As the leader of many mice, she often employs them to search for things for her; though if she were to ask them to find food, it would most likely be gone by the time they returned.

0 komentar