กรณีบริการเว็บ
โปรแกรมใด ๆ สามารถมีส่วนประกอบบริการเว็บ
หมวดหมู่การสร้างบริการเว็บและการเขียนโปรแกรมภาษาอิสระ
ในบทนี้เราจะมาแนะนำการใช้งานของการขยาย SOAP ของ PHP ในการสร้างบริการเว็บ
สบู่มีสองโหมดการทำงานไม่มี WSDL และ WSDL
- NO-WSDL โหมด: การถ่ายทอดข้อมูลไปใช้พารามิเตอร์
- โหมด WSDL: การใช้ชื่อไฟล์ WSDL เป็นพารามิเตอร์และดึงข้อมูลที่จำเป็นจาก WSDL บริการ
บริการเว็บ PHP: ตัวอย่างหนึ่ง
ก่อนที่คุณจะเริ่มต้นเช่นเราจำเป็นต้องตรวจสอบว่าจะติดตั้งส่วนขยาย PHP SOAP ดู phpinfo ข้อความต่อไปนี้ปรากฏการติดตั้งส่วนขยาย SOAP นี้:
ในตัวอย่างนี้เราจะใช้ PHP SOAP ในการสร้างบริการเว็บง่าย
รหัสไฟล์เซิร์ฟเวอร์Server.php เป็นดังนี้:
<?php // SiteInfo 类用于处理请求 Class SiteInfo { /** * 返回网站名称 * @return string * */ public function getName(){ return "本教程"; } public function getUrl(){ return "www.w3big.com"; } } // 创建 SoapServer 对象 $s = new SoapServer(null,array("location"=>"http://localhost/soap/Server.php","uri"=>"Server.php")); // 导出 SiteInfo 类中的全部函数 $s->setClass("SiteInfo"); // 处理一个SOAP请求,调用必要的功能,并发送回一个响应。 $s->handle(); ?>
รหัสไคลเอ็นต์Client.php ไฟล์จะเป็นดังนี้:
<?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(); }
จากนั้นเราก็ไปที่ http: //localhost/soap/Client.php ผลการส่งออกมีดังนี้