Friday, September 16, 2011

[KonCod a.k.a Konsultasi Coding] Web Service nuSOAP

[diperbarui pada 12 Mei 2015]
 
PERHATIAN
melihat perkembangan saat ini untuk membuat web service saya menyarankan untuk migrasi ke RESTful web service http://www.ardhi.web.id/2015/05/web-service-php-menggunakan-slim_11.html, saya sudah tidak akan membuat artikel baru tentang pembuatan web service menggunakan SOAP

Kali ini lain dari biasanya, Ardhi bakal ngasih KonCod alias konsultasi coding. Menanggapi codingan yang masuk ke inbox saya, singkat cerita terdapat seorang developer yang ingin membangun web service dengan PHP+nuSOAP. Dia memiliki basis data latihan yang di dalamnya terdapat tabel tb_user sebagai berikut:


Developer tersebut memiliki script login.php yang dimaksudkan untuk service login ke basis data sebagai berikut
<?php
require_once 'nusoap/lib/nusoap.php';
$server = new soap_server();
$server->configureWSDL("latihan","http://latihansaja/");
$server-->register(login);

function tes($param){
    $username= $param['username'];
    $password = $param['password'];
    $return_value[] =array('username'=>$username,'password'=>$password);
 return ($return_value);}

    function login(){
        mysql_connect('localhost','root','');
        mysql_select_db('latihan');
        $sql = mysql_query("select tb_user.username, tb_user.password from tb_user where username=’$username' and password =’$password' ");
        $return_data_count=mysql_num_rows($sql);
        //$return_data[]=array();
        while ($row=mysql_fetch_array($sql)){
            $return_data[]=array('username'=>$row['username'],'password'=> $row['password']);
        }
        $return['count']=$return_data_count;
        $return['data']=$return_data;
        return $return;

    }

$HTTP_RAW_POST_DATA = isset ($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA: " ";
$server->service($HTTP_RAW_POST_DATA);
?>

Namun saat dibuka di browser terdapat error seperti berikut ini

Setelah diselidiki, penyebabnya adalah penulisan $server-->register(login);
seharusnya adalah $server->register(login);

Setelah script diperbaiki, barulah diperoleh output yang diharapkan



Woke, segitu dulu KonCod kali ini
Selanjutnya akan saya bahas abis bagaimana menggunakan web service yang sudah dibangun tersebut :)
Salam programmer!

8 comments:

AimaR said...

ada contoh client nya ga MasBro ?
utk Android pun gpp... :D
biar saya coba translate ke BB...
Thx b4...

ardhi wijayanto said...

contoh clientnya yang di tutorial SOAP Android, tapi script servernya bukan yang ini sih

AimaR said...

yang script servernya seperti di atas ada ga MasBro ? :D

AimaR said...

Ohya juga MasBro...
untuk code di atas, gmana pengecekan jika username atau password salah ? :)

Unknown said...

beda ga gan yang client nusoap di android sama yang ini ?

ardhi wijayanto said...

beda, kalau yang ini membuat "server"-nya

muhfikriadli said...

kalo untuk script clientnya kaya gimana gan ?

ardhi wijayanto said...

melihat perkembangan saat ini untuk membuat web service saya menyarankan untuk migrasi ke RESTful web service http://www.ardhi.web.id/2015/05/web-service-php-menggunakan-slim_11.html, saya sudah tidak akan membuat artikel baru tentang pembuatan web service menggunakan SOAP

Post a Comment

ardhi.web.id. Powered by Blogger.