รับลงโปรแกรม Windows Xp Windows 7 Office2003 Office2007

ค่าบริการนอกสถานที่เริ่มต้นที่ 400 บาท รับลงโปรแกรม Windows Xp Windows 7 Office2003 Office2007 ดูแลเครื่องคอมพิวเตอร์ จัดออกแบบห้องคอมพิวเตอร์ ตามสำนักงาน หรือโรงงาน ดูแลระบบแลนด์ Nekwork ประจำสำนักงาน Office หอพัก อพาร์ทเม้นท์ แมนชั่น เดินสายแลนด์ ตามชั้นต่าง ๆ วางระบบในสำนักงาน และแก้ไขระบบให้ดีกว่าเดิม รวม wifi wireless งานเกี่ยวกับเว็ปไซค์ ดูแลและอัพเดตเว็ป จดทะเบียนโดเมนเนม การอัพโหลดข้อมูลขึ้น Internet TEL. 083 - 792 - 5426

รับจัดทำเว็บไซด์

บริการโปรโมทเว็บไซต์ ด้วย SEO ขั้นตอนการทำ SEO รับข้อมูลของลูกค้า นำมาวิเคราะห์เพื่อหา keyword และวิเคราะห์คู่แข่ง ใช้เวลา 1-2 วัน ปรับปรุงโครงสร้างภายในของเว็บไซต์เพื่อให้ได้ผลดีต่อการ ทำ SEO ใน keyword นั้นๆ ใช้เวลา 7 วัน สร้างลิ้งค์จากภายนอกของเว็บไซต์เพื่อให้ได้ผลดีต่ออันดับ ใช้เวลา 1-3 เดือน ติดตามผล และรายงานลูกค้าเป็นระยะจนได้อันดับตามที่ตกลง ดูแลรักษาอันดับต่ออีก จนครบกำหนด 1 ปี โดยไม่คิดค่าใช้จ่ายใดๆเพิ่ม

Network

www.becomz.com ให้บริการติดตั้งวางระบบเครือข่ายแลน LAN, WAN, Network อะไรบ้าง รับออกแบบติดตั้งวางระบบเครือข่ายแลน LAN, WAN, Network อย่างง่ายตามงบประมาณที่ท่านมีอยู่ เพื่อให้เกิดประสิทธิ์ภาพสูงสุด ทั้งระบบเครือข่าย LAN, WAN, Network แบบเดินสาย (Wire LAN) และแลนไร้สาย (Wireless LAN) รับออกแบบติดตั้งวางระบบเครือข่ายแลน LAN, WAN, Network แบบเต็มรูปแบบทั้งภายในและภายนอกอาคาร ทั้งเป็นการเดินสายภายในอาคารด้วยสาย UTP CAT5, CAT5e, CAT6 ที่จะรองรับเครือข่ายแบบ Giga Bps และสาย Fiber optic เพื่อเชื่อมระหว่างอาคาร พร้อมอุปกรณ์ Bridge เพื่อเพิ่มระยะการใช้งานของระบบเครือข่ายให้กว้างไกลมากขึ้น รับปรับปรุง เครือข่ายที่มีอยู่เดิม จัดเก็บสาย LAN ให้เป็นระเบียบเรียบร้อย โดยใช้ RACK 19” และ Patch Panel เพื่อทำให้ง่ายและสะดวกในการทำ Maintenance ระบบเครือข่ายต่อไป รับ Upgrade ระบบเครือข่ายแลน LAN, WAN, จากระบบ 10/100 Mbps เป็นระบบ Gbps โดยการจัดเปลี่ยนอุปกรณ์เครือข่าย Switch Router และอุปกรณ์ เครือข่ายที่เกี่ยวข้องอื่นๆ เพื่อให้ระบบทำงานได้รวดเร็วยิ่งขึ้น รับปรึกษาดูแล แก้ไข บำรุงรักษา ระบบเครือข่ายของท่านเป็นสัญญารายปี จัดหาอุปกรณ์ Access Point, Wireless, Switch, Manage Switch, ADSL Router, Firewall, Print Server ตั้งแต่สำนักงานขนาดเล็กไปจนถึงขนาดใหญ่ ทั้งภายในและภายนอกอาคาร

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

ซ่อมคอมพิวเตอร์นอกสถานที่ บางกะปิ รามคำแหง

วันอาทิตย์ที่ 15 กรกฎาคม พ.ศ. 2555

PHP Create - Call Web Service สร้างและเรียกเว็บเซอร์วิส ด้วย PHP (NuSoap and Soap)

PHP Create - Call Web Service สร้างและเรียกเว็บเซอร์วิส ด้วย PHP (NuSoap and Soap) บทความการสร้าง Web Service และการเรียกใช้งาน Web Service ด้วย PHP แบบง่าย ๆ ผ่าน Library ของ NuSoap /Soap และฟังก์ชั่น soap_server ใน php การเรียกใช้งาน Web Service ฝั่ง Server หรือ Client จะต้องเรียกผ่าน wsdl ซึ่งเป็น XML Format ที่บ่งบอกและอธิบายเกี่ยวกับ Web Service ที่ใหบริการอยู่ว่ามีรูปแบบและการเรียกใช้งานอย่างไรบ้าง เช่น Service Name , Method หรือ ค่าParameters ต่าง ที่ให้บริการอยู่ในขณะนั้น และเมื่อเราสร้างไฟล์ Web Service ที่มีนามสกุล .php และเรียก URL ตามด้วย file.php?wsdl ก็จะได้ XML Format ออกมา ซึ่ง Web Service ที่ได้จะสามารถเรียกและใช้งานได้กับทุกภาษาที่มีมาตฐานการติดต่อผ่านรูปแบบ wsdl

ตัวอย่างที่ 1 ใช้ NuSoap

PHP Create - Calling Web Service

Download Library ของ NuSoap


หรือจะดาวน์โหลดได้จากในส่วนล่างของบทความนี้

สำหรับการสร้าง Web Service ในตัวอย่างนี้จะแบ่งออกเป็น 2 ประเภทคือ
- Web Service ฝั่ง Server ที่ให้บริการ 
- Web Service ฝั่ง Client ที่เรียกใช้ Web Service ฝั่ง Server

Web Service ฝั่ง Server

WebServiceServer.php
01.<?
02.require_once("lib/nusoap.php");
03. 
04.//Create a new soap server
05.$server new soap_server();
06. 
07.//Define our namespace
08.$namespace "http://localhost/nusoap/index.php";
09.$server->wsdl->schemaTargetNamespace = $namespace;
10. 
11.//Configure our WSDL
12.$server->configureWSDL("HelloWorld");
13. 
14.// Register our method and argument parameters
15.$varname array(
16.'strName' => "xsd:string",
17.'strEmail' => "xsd:string"
18.);
19.$server->register('HelloWorld',$varnamearray('return' => 'xsd:string'));
20. 
21.function HelloWorld($strName,$strEmail)
22.{
23.return "Hello, World! Khun ($strName , Your email : $strEmail)";
24.}
25. 
26.// Get our posted data if the service is being consumed
27.// otherwise leave this data blank.
28.$POST_DATA = isset($GLOBALS['HTTP_RAW_POST_DATA']) ? $GLOBALS['HTTP_RAW_POST_DATA'] :'';
29. 
30.// pass our posted data (or nothing) to the soap service
31.$server->service($POST_DATA);
32.exit();
33.?>


จาก Code มีการสร้าง Service ชื่อว่า HelloWorld และประกอบด้วย Method ชื่อว่า HelloWorld รับค่า argument 2 ตัวคือ $strName และ $strName และทำการ return return "Hello, World! Khun ($strName , Your email : $strEmail)";

ในไฟล์นี้จะจัดเก็บไว้ในโฟเดอร์ \nusoap\WebServiceServer.php

ทดสอบการรัน Web Service


PHP Create - Calling Web Service

ในตัวอย่างจะเห็น URL ของ Web Service ประกอบด้วย Method ชื่อว่า HellowWorld ให้คลิกที่ WSDL เพื่อดูรูปแบบของ XML

PHP Create - Calling Web Service



เมื่อรัน URL ของ Web Service ตามด้วย ?wsdl จะได้ XML ที่ประกอบด้วย Format ของ wsdl ดังรูป ซึ่งตอนที่นำไปใช้งานจริง ๆ เราจะใช้ URL นี้

รูปแบบ XML ที่ได้
01.<?xml version="1.0" encoding="ISO-8859-1" ?>
03.<types>
04.<xsd:schema targetNamespace="http://localhost/soap/HelloWorld">
05.<xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
06.<xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" />
07.</xsd:schema>
08.</types>
09.<message name="HelloWorldRequest">
10.<part name="strName" type="xsd:string" />
11.<part name="strEmail" type="xsd:string" />
12.</message>
13.<message name="HelloWorldResponse">
14.<part name="return" type="xsd:string" />
15.</message>
16.<portType name="HelloWorldPortType">
17.<operation name="HelloWorld">
18.<input message="tns:HelloWorldRequest" />
19.<output message="tns:HelloWorldResponse" />
20.</operation>
21.</portType>
22.<binding name="HelloWorldBinding" type="tns:HelloWorldPortType">
23.<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
24.<operation name="HelloWorld">
25.<soap:operation soapAction="http://localhost/nusoap/WebServiceServer.php/HelloWorld" style="rpc"/>
26.<input>
27.<soap:body use="encoded" namespace="" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
28.</input>
29.<output>
30.<soap:body use="encoded" namespace="" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
31.</output>
32.</operation>
33.</binding>
34.<service name="HelloWorld">
35.<port name="HelloWorldPort" binding="tns:HelloWorldBinding">
36.<soap:address location="http://localhost/nusoap/WebServiceServer.php" />
37.</port>
38.</service>
39.</definitions>





Web Service ฝั่ง Client

สร้างไฟล์สำหรับ Client เพื่อทดสอบเรียก Web Sevice 

WebServiceClient.php
01.<html>
02.<head>
03.<title>ThaiCreate.Com</title>
04.</head>
05.<body>
06.<?
07.require_once("lib/nusoap.php");
08.$client new nusoap_client("http://localhost/nusoap/WebServiceServer.php?wsdl",true);
09.$params array(
10.'strName' => "Weerachai Nukitram",
11.'strEmail' => "is_php@hotmail.com"
12.);
13.$data $client->call("HelloWorld",$params);
14.echo $data;
15.?>
16.</body>
17.</html>


ในตัวอย่าง มีการระบุ URL ของ Web Service ในส่วนของ new nusoap_client

$client->call("HelloWorld",$params);
// HelloWorld คือ Method ที่อยู่ใน Web Service
// $params คือ argument หรือ parameter ที่จะต้องส่งไป


เมื่อลอง echo $data; ก็จะได้สิ่งที่ Web Service ตอบกลับมา ซึ่งอาจจะอยู่ในรูปแบบของ XML หรือ String

Screenshot

PHP Create - Calling Web Service

Download Code !! 






ตัวอย่างที่ 2 ใช้ Soap

PHP Create - Calling Web Service

วิธีนี้จะใช้ Class ที่ชื่อว่า SoapServer ที่อยู่ใน php_soap.dll วิธีใช้งานจะต้องดาวน์โหลด extension ตัวนี้มาติดตั้งก่อน 

Download php_soap.dll


หลังจากดาวน์โหลดแล้วให้แตกไฟล์และ Copy ไปไว้ในโฟเดอร์ของ extension ถ้าอยากรู้ว่าอยู่ที่ไหน ก็ให้เปิดไฟล์ php.ini

C:\Windows\php.ini
; Directory in which the loadable extensions (modules) reside.
extension_dir = "D:/AppServ\php5\ext"


หาบรรทัดที่มีคำว่า extension_dir ซึ่งจะบอกว่า Path ของ extension ถูกจัดเก็บไว้ที่ไหน

หลังจาก Copy เรียบร้อยแล้วให้เพิ่มบรรทัดนี้ใน php.ini

C:\Windows\php.ini
extension=php_soap.dll


php_soap.dll and php.ini

หรือดูภาพประกอบ

หลังจากแก้ไขเรียบร้อยแล้วให้ Restart Web Server หรือ Apache ซะ 1 ครั้ง

กรณี Error Class ของ SoapClient
Fatal error: Class 'SoapServer' not found in C:\AppServ\www\SoapServer\WebServiceServer.php on line 2


เริ่มต้นการสร้าง Web Service ด้วย Soap

ขั้นตอนแรกให้สร้างไฟล์ helloworld.wsdl

helloworld.wsdl
01.<?xml version="1.0" encoding="ISO-8859-1" ?>
02.<definitions xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
10.targetNamespace="http://localhost/soap/HelloWorld">
11.<types>
12.<xsd:schema targetNamespace="http://localhost/soap/HelloWorld">
13.<xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
14.<xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" />
15.</xsd:schema>
16.</types>
17. 
18.<message name="HelloWorldRequest">
19.<part name="strName" type="xsd:string" />
20.<part name="strEmail" type="xsd:string" />
21.</message>
22. 
23.<message name="HelloWorldResponse">
24.<part name="return" type="xsd:string" />
25.</message>
26. 
27.<portType name="HelloWorldPortType">
28.<operation name="HelloWorld">
29.<input message="tns:HelloWorldRequest" />
30.<output message="tns:HelloWorldResponse" />
31.</operation>
32.</portType>
33. 
34.<binding name="HelloWorldBinding" type="tns:HelloWorldPortType">
35.<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
36.<operation name="HelloWorld">
37.<soap:operation soapAction="http://localhost/SoapServer/WebServiceServer.php/HelloWorld"style="rpc" />
38.<input>
39.<soap:body use="encoded" namespace=""encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
40.</input>
41.<output>
42.<soap:body use="encoded" namespace=""encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
43.</output>
44.</operation>
45.</binding>
46. 
47.<service name="HelloWorld">
48.<port name="HelloWorldPort" binding="tns:HelloWorldBinding">
49.<soap:address location="http://localhost/SoapServer/WebServiceServer.php" />
50.</port>
51.</service>
52.</definitions>


สำหรับไฟล์ wsdl อ่านรายละเอียดได้ที่
http://wiki.nectec.or.th/setec/Knowledge/WSDL
http://oreilly.com/catalog/webservess/chapter/ch06.html
http://www.basic-skill.com/content.php?cont_id=74&sec_id=3


สร้างไฟล์ Web Service ฝั่ง Server

WebServiceServer.php
01.<?php
02.$server new SoapServer("helloworld.wsdl");
03. 
04.function HelloWorld($strName,$strEmail){
05.return "Hello, World! Khun ($strName , Your email : $strEmail) ";
06.}
07. 
08.$server->AddFunction("HelloWorld");
09.$server->handle();
10.?>


Save ไฟล์ไว้ที่ \SoapServer\WebServiceServer.php อยู่ภายใต้ root ของ Server

ทดสอบรัน URL ของ Web Service



PHP Create - Calling Web Service

ผลลพัทธ์ที่ได้เมื่อทอสอบรัน URL ของ Web Service


Web Service ฝั่ง Client

WebServiceClient.php
01.<html>
02.<head>
03.<title>ThaiCreate.Com</title>
04.</head>
05.<body>
06.<?
08.array(
09."trace"      => 1,     // enable trace to view what is happening
10."exceptions" => 0,     // disable exceptions
11."cache_wsdl" => 0)         // disable any caching on the wsdl, encase you alter the wsdl server
12.);
13. 
14.$params array(
15.'strName' => "Weerachai Nukitram",
16.'strEmail' => "is_php@hotmail.com"
17.);
18. 
19.$data $client->HelloWorld($params);
20. 
21.print_r($data);
22.?>
23.</body>
24.</html>


ทดสอบการเรียก URL ของ Web Service ฝั่ง Client 

Screenshot

PHP Create - Calling Web Service


Download Code !!


บทความนี้เป็นเพียงพื้นฐานการสร้าง Web Service แบบง่าย ๆ แต่ทั้งนี้สามารถนำไปประยุกต์กับการใช้งานที่ซับซ้อน เช่นการใช้งานร่วมกับ MySQL ซึ่งไว้มีโอกาสจะลองเขียนบทความให้หลากหลายเพื่อเป็นตัวอย่างไว้ให้ศึกษา 


สรุปถ้าจะให้เลือกใช้ระหว่าง NuSoap และ Soap ผมแนะนำให้ใช้ NuSoap ดีกว่า เพราะใช้งานและเข้าใจง่ายกกว่าครับ

และผิดพลาดประการใดขออภัยมา ณ ที่นี้ด้วยครับ