Web Service PHP – NUSOAP pada Ubuntu
Sumber:http://dev.xbata.com/php/web-service-php-nusoap-pada-ubuntu
NUSOAP adalah kumpulan class PHP yang digunakan oleh para programmer PHP untuk membuat web service atau menggunakannya sebagai client. NUSOAP menggunakan protokol web service SOAP : Simple Object Access Protocol yang dapat menggenerate format dokumen XML WSDL
Library NUSOAP dapat didownload di sini. Berikut langkah-langkah membuat web service serta membuat client yang mengaksesnya.
- Langkah pertama pastikan server ubuntu anda telah terinstall apache2 dan php5
- Lakukan installasi modul php-xml dan php-soap dengan perintah berikut ini :123
$
sudo
apt-get
install
php5-xmlrpc
$
sudo
apt-get
install
php-soap
$
sudo
service apache2 restart
- Pada contoh ini dokumen root web berada dalam direktori /var/www/webku
- Ekstrak hasil download NUSOAP dan letakan dalam direktori /var/www/webku/
- Berikutnya adalah membuat file web service ( server1.php) dan letakan dalam direktori /var/www/webku/,
Pada contoh ini akan dibuat dua service yang memanggil fungsi : salam dan jumlah123456789101112131415161718192021222324252627282930313233343536373839<?php
require_once
'lib/nusoap.php'
;
$server
=
new
soap_server();
$server
->configureWSDL(
'server1'
,
'urn:server1'
);
$server
->register(
'salam'
,
array
(
'name'
=>
'xsd:string'
),
array
(
'return'
=>
'xsd:string'
),
'urn:server1'
,
'urn:server1#salam'
,
'rpc'
,
'encoded'
,
'beri salam pada client anda'
);
$ar_param
=
array
(
'param1'
=>
'xsd:int'
,
'param2'
=>
'xsd:int'
);
$server
->register(
'jumlah'
,
array
(
'param1'
=>
'xsd:int'
,
'param2'
=>
'xsd:int'
),
array
(
'return'
=>
'xsd:int'
),
'urn:server1'
,
'urn:server1#jumlah'
,
'rpc'
,
'encoded'
,
'jumlahkan dua bilangan'
);
function
salam(
$x
)
{
return
'Salam '
.
$x
;
}
function
jumlah(
$x
,
$y
)
{
return
$x
+
$y
;
}
$HTTP_RAW_POST_DATA
= isset(
$HTTP_RAW_POST_DATA
) ?
$HTTP_RAW_POST_DATA
:
''
;
$server
->service(
$HTTP_RAW_POST_DATA
);
?>
- Cek web service dengan mengakses url: http://localhost/webku/server1.php, untuk melihat format dokumen xml wsdl yang dihasilkan dapat diakses dengan url : http://localhost/webku/server1.php?wsdl
- Langkah berikutnya adalah mengakses web service, pada contoh ini dilakukan dalam aplikasi yang sama, dalam sesungguhnya web service diakses oleh aplikasi yang berbeda dan mungkin juga server yang berbeda. Berikut kode program client ( client.php) yang memanggil service salam dan jumlah pada web service server1.php12345678910111213141516
<?php
require_once
'lib/nusoap.php'
;
$opsi
=
array
(
);
$sc
=
new
soapclient(null,
$opsi
);
$c1
=
$sc
->__call(
'salam'
,
array
(
'param'
=>
'Faiz Fikri'
));
echo
$c1
;
echo
'<hr/>'
;
$ar_bil
=
array
(6, 8);
$z
=
$sc
->__call(
'jumlah'
,
$ar_bil
);
echo
"6 + 8 = $z"
;
?>
- Akses url: http://localhost/webku/client1.php untuk mencoba program web service anda dipanggil melalui client
Tidak ada komentar:
Posting Komentar