Contoh perkhidmatan web
Sebarang aplikasi boleh mempunyai komponen Perkhidmatan Web.
Penciptaan Perkhidmatan Web tiada kaitan dengan jenis bahasa pengaturcaraan.
Dalam bab ini kami akan memperkenalkan cara menggunakan sambungan SOAP PHP untuk mencipta Perkhidmatan Web.
SOAP mempunyai dua mod operasi, NO-WSDL dan WSDL.
Mod NO-WSDL: Gunakan parameter untuk menghantar maklumat yang akan digunakan.
Mod WSDL: Menggunakan nama fail WSDL sebagai parameter dan mengekstrak maklumat yang diperlukan oleh perkhidmatan daripada WSDL.
Satu contoh: PHP Web Service
Sebelum memulakan tika, kita perlu menentukan sama ada PHP telah memasang sambungan SOAP. Semak phpinfo, maklumat berikut muncul menunjukkan bahawa sambungan SOAP telah dipasang:
Dalam contoh ini, kami akan menggunakan PHP SOAP untuk mencipta Perkhidmatan Web yang ringkas.
ServerServer.php Kod fail adalah seperti berikut:
<?php // SiteInfo 类用于处理请求 Class SiteInfo { /** * 返回网站名称 * @return string * */ public function getName(){ return "php中文网"; } public function getUrl(){ return "www.php.cn"; } } // 创建 SoapServer 对象 $s = new SoapServer(null,array("location"=>"http://localhost/soap/Server.php","uri"=>"Server.php")); // 导出 SiteInfo 类中的全部函数 $s->setClass("SiteInfo"); // 处理一个SOAP请求,调用必要的功能,并发送回一个响应。 $s->handle(); ?>
ClientClient.php Kod fail adalah seperti berikut:
<?php try{ // non-wsdl方式调用web service // 创建 SoapClient 对象 $soap = new SoapClient(null,array('location'=>"http://localhost/soap/Server.php",'uri'=>'Server.php')); // 调用函数 $result1 = $soap->getName(); $result2 = $soap->__soapCall("getUrl",array()); echo $result1."<br/>"; echo $result2; } catch(SoapFault $e){ echo $e->getMessage(); }catch(Exception $e){ echo $e->getMessage(); }