อันดับแรกก่อนที่จะทำการสร้าง WebService ด้วย NuSOAP นั้นจะต้องทำการ DownLoad ส่วนของ Library ของ NuSOAP ก่อนตาม Link นี้
http://sourceforge.net/projects/nusoap/
จากนั้นให้แตกไฟล์ไว้ใน 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);
ในบรรทัดแรกจะเป็นการดึงข้อมูลจากไฟล์ที่เรา DownLoad ไว้ข้างต้นมาใช้
จากนั้นจะเป็นส่วนของฟังก์ชันที่เราได้สร้างขึ้น
เป็นส่วนที่เราสร้าง Server ขึ้นมา
เป็นการตั้งค่า url ที่เราต้องการให้เป็นส่วนที่แสดงรายละเอียดของ Sever ว่ามีฟังก์ชันอะไรบ้างโดยทั่วไปจะใช้เป็น
http://localhost/Floder ที่สร้างไว้/Fileของส่วนServer
จากนั้นจะเป็นการตั้งค่าของ 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 : ''
เป็นการรับข้อมูลจากภาษา xml ให้เข้ามาในภาษา php
แล้วใช้คำสั่ง
เป็นอันจบในส่วนของ Sever
อันดับแรกก่อนที่จะทำการสร้าง WebService ด้วย NuSOAP นั้นจะต้องทำการ DownLoad ส่วนของ Library ของ NuSOAP ก่อนตาม Link นี้[url]http://sourceforge.net/projects/nusoap/[/url]
จากนั้นให้แตกไฟล์ไว้ใน Folder ที่เราจะทำการเขียน WebService จากนั้นทำการสร้างไฟล์ออกเป็น2ส่วนคือ
1) ส่วนของ server - โดยส่วนนี้จะเป็นส่วนที่ใช้ในการเก็บเมธอดและลงทะเบียนเมธอดที่เราสร้างไว้
โค๊ดในส่วนนี้จะเป็นดังนี้
[code=php]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);
[/code]
ในบรรทัดแรกจะเป็นการดึงข้อมูลจากไฟล์ที่เรา DownLoad ไว้ข้างต้นมาใช้
จากนั้นจะเป็นส่วนของฟังก์ชันที่เราได้สร้างขึ้น
[code]$server = new soap_server()[/code] เป็นส่วนที่เราสร้าง Server ขึ้นมา
[code]$ws_server_url = 'url'[/code] เป็นการตั้งค่า url ที่เราต้องการให้เป็นส่วนที่แสดงรายละเอียดของ Sever ว่ามีฟังก์ชันอะไรบ้างโดยทั่วไปจะใช้เป็น http://localhost/Floder ที่สร้างไว้/Fileของส่วนServer
จากนั้นจะเป็นการตั้งค่าของ WSLD โดยใช้คำสั่ง[code] $server->configureWSDL('ชื่อของWebService.wsdl', $ws_server_url)[/code]
แล้วทำการทะเบียนฟังก์ชันโดยใช้คำสั่ง [code]$server->register("doHellow", array('name' => 'xsd:string'), array('return' => 'xsd:string'))[/code]
ซึ่งคำสั่งดังกล่าวยังมีพารามิเตอร์อีกดังโค๊ดด้านล่างนี้
[code=php]function
register($name, $input=array(), $output=array(), $namespace=false,
$soapaction=false, $style=false, $use=false, $documentation='')
[/code]
โดยที่
$name - เป็นชื่อของฟังก์ชันที่ต้องการลงทะเบียน
$input - ใช้กำหนดชนิดข้อมูลของ input
$output - ใช้กำหนดชนิดข้อมูลของ output
ซึ่งชนิดของมูลของ input และ output นั้นจะต้องเป็นไปตามชนิดของข้อมูลจากภาษา xml ตามลิงค์นี้[url]https://www.mindphp.com/forums/viewtopic.php?f=29&t=11982[/url]
$namespace - ใช้กำหนด XML documents (มีหรือไม่มีก็ได้)
$soapaction - ใช้กำหนด URI (มีหรือไม่มีก็ได้)
$style - ใช้กำหนดประเภทของ SOAP ซึ่งแบ่งเป็น RCP และ Document (มีหรือไม่มีก็ได้)
$use-ใช้กำหนดเกี่ยวกับผู้ใช้งาน(มีหรือไม่มีก็ได้)
$documentation-ใช้บอกรายละเอียดเกี่ยวกับฟังก์ชันนั้นๆ(มีหรือไม่มีก็ได้)
เมื่อจบคำสั่งนี้จะใช้คำสั่ง[code]$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : ''[/code] เป็นการรับข้อมูลจากภาษา xml ให้เข้ามาในภาษา php
แล้วใช้คำสั่ง [code]$server->service($HTTP_RAW_POST_DATA)[/code] เป็นอันจบในส่วนของ Sever