[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!