จากนั้นให้แตกไฟล์ไว้ใน Folder ที่เราจะทำการเขียน WebService จากนั้นทำการสร้างไฟล์ออกเป็น2ส่วนคือ
1) ส่วนของ server - โดยส่วนนี้จะเป็นส่วนที่ใช้ในการเก็บเมธอดและลงทะเบียนเมธอดที่เราสร้างไว้
โค๊ดในส่วนนี้จะเป็นดังนี้
โค้ด: เลือกทั้งหมด
require_once('lib/nusoap.php');
function doHellow($input) {
return $input;
}
$server = new soap_server();
$ws_server_url = 'url';
$server->configureWSDL('ชื่อของWebService.wsdl', $ws_server_url);
$server->register("doHellow", array('name' => 'xsd:string'), array('return' => 'xsd:string'));
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);
จากนั้นจะเป็นส่วนของฟังก์ชันที่เราได้สร้างขึ้น
โค้ด: เลือกทั้งหมด
$server = new soap_server()
โค้ด: เลือกทั้งหมด
$ws_server_url = 'url'
จากนั้นจะเป็นการตั้งค่าของ WSLD โดยใช้คำสั่ง
โค้ด: เลือกทั้งหมด
$server->configureWSDL('ชื่อของWebService.wsdl', $ws_server_url)
โค้ด: เลือกทั้งหมด
$server->register("doHellow", array('name' => 'xsd:string'), array('return' => 'xsd:string'))
โค้ด: เลือกทั้งหมด
function
register($name, $input=array(), $output=array(), $namespace=false,
$soapaction=false, $style=false, $use=false, $documentation='')
$name - เป็นชื่อของฟังก์ชันที่ต้องการลงทะเบียน
$input - ใช้กำหนดชนิดข้อมูลของ input
$output - ใช้กำหนดชนิดข้อมูลของ output
ซึ่งชนิดของมูลของ input และ output นั้นจะต้องเป็นไปตามชนิดของข้อมูลจากภาษา xml ตามลิงค์นี้https://www.mindphp.com/forums/viewtopic ... 29&t=11982
$namespace - ใช้กำหนด XML documents (มีหรือไม่มีก็ได้)
$soapaction - ใช้กำหนด URI (มีหรือไม่มีก็ได้)
$style - ใช้กำหนดประเภทของ SOAP ซึ่งแบ่งเป็น RCP และ Document (มีหรือไม่มีก็ได้)
$use-ใช้กำหนดเกี่ยวกับผู้ใช้งาน(มีหรือไม่มีก็ได้)
$documentation-ใช้บอกรายละเอียดเกี่ยวกับฟังก์ชันนั้นๆ(มีหรือไม่มีก็ได้)
เมื่อจบคำสั่งนี้จะใช้คำสั่ง
โค้ด: เลือกทั้งหมด
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : ''
แล้วใช้คำสั่ง
โค้ด: เลือกทั้งหมด
$server->service($HTTP_RAW_POST_DATA)