วิธีการสร้าง WebService อย่างง่ายด้วย ZendSOAP

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: วิธีการสร้าง WebService อย่างง่ายด้วย ZendSOAP

วิธีการสร้าง WebService อย่างง่ายด้วย ZendSOAP

โดย batman1292 » 11/05/2012 6:01 pm

หัวข้อนี้จะเป็นการสร้าง WebServices อย่างง่ายด้วย ZendSOAP โดยที่อันดับแรกให้โหลดไฟล์ที่ได้แนบเอาไว้ แตกไฟล์แล้วนำไปไว้ใน Folder ที่เราจะทำการเขียนโค๊ด
จากนั้นก็แบ่งโค๊ดออกเป็น 2 ส่วนเหมือนเดิม
โดยส่วนแรกจะเป็นส่วนของ Server จะเป็นไปตามโค๊ดด้านล่างนี้

โค้ด: เลือกทั้งหมด

require('Zend/Soap/AutoDiscover.php');
require('Zend/Soap/Server.php');

function hello($input) {
    return "Hello".$input;
}

if(isset($_GET['wsdl'])) {
    $autodiscover = new Zend_Soap_AutoDiscover();
    $autodiscover->addFunction('hello');
    $autodiscover->handle();
}else{
    $server = new Zend_Soap_Server( 'http://localhost/***/yyy.php?wsdl' );
    $server->addFunction("hello");
    $server->handle();
} 

จากโค๊ดดังกล่าว ส่วนแรกจะเป็นการดึง library ที่จะใช้ในส่วนของ Server โดยเราจะดึงมา 2 ไฟล์ตามนี้

โค้ด: เลือกทั้งหมด

require('Zend/Soap/AutoDiscover.php')
require('Zend/Soap/Server.php') 
จากนั้นเป็นส่วนของฟังก์ชันที่เราได้สร้างเอาไว้
ต่อมาจะสังเกตุได้ว่าโค๊ดได้ถูกแบ่งออกเป็น 2 ส่วนคือ

โค้ด: เลือกทั้งหมด

$autodiscover = new Zend_Soap_AutoDiscover();
    $autodiscover->addFunction('hello');
    $autodiscover->handle(); 
ส่วนนี้จะเป็นส่วนที่ทำการเจ็นฟังก์ชันให้เป็นภาษา WSDL แต่ไม่สามารถใช้เป็นส่วนของ Server ดังนั้นเราจึงทำการสร้างอีกส่วนหนึ่งคือ

โค้ด: เลือกทั้งหมด

$server = new Zend_Soap_Server( 'http://localhost/***/yyy.php?wsdl' );
    $server->addFunction("hello");
    $server->handle();
ในส่วนนี้จะเป็นส่วนของ Server จริงๆที่เราสามารถนำไปใช้ต่อได้
ส่วนต่อมาจะเป็นส่วนของ Client จะมีโค๊ดดังนี้

โค้ด: เลือกทั้งหมด

require('Zend/Soap/Client.php');

$client = new Zend_Soap_Client( 'http://localhost/***/yyy.php?wsdl' );

echo( $client->__call( 'hello', array( 'kdkdik' ) ) ); 
ซึ่งในส่วนนี้จะเห็นได้ว่ามีการดึง library มาเหมือนกัน
แล้วจึงเป็นการสร้าง Client โดยใช้ไฟล์ WSDL ที่ได้ทำการเจ็นจากส่วน Server
สุดท้ายเป็นการเรียกใช้ฟังก์ชัน
ข้อมูลเพิ่มเติมสำหรับรายละเอียดปลีกย่อยอื่นๆตามลิงค์นี้http://framework.zend.com/manual/en/zend.soap.html
แนบไฟล์
Zend.rar
(33.16 KiB) ดาวน์โหลดแล้ว 277 ครั้ง

ข้างบน