ตัวอย่างนี้จะเป็นการเขียนโปรแกรม PHP เพื่อตรวจสอบสถานะการจด VAT หรือ ตรวจสอบข้อมูลผู้ประกอบการ โดยเขียนเชื่อมต่อกับ Web Service ของกรมสรรพากร ซึ่งปกติแล้วเราสามารถตรวจสอบได้โดยตรงจากหน้า http://www.rd.go.th/publish/313.0.html
ผลลัพธ์ที่เราใช้งานจะอยู่ในส่วนของ
echo 'VAT => TRUE';
และ
echo 'VAT => FALSE';
แต่ถ้าหากต้องการนำข้อมูลที่ได้ไปใช้จะอยู่ในตัวแปร $result ที่เก็บค่าแบบหลายมิติ
ดังที่ได้แสดงด้วยคำสั่ง
print_r($result);
หากต้องการข้อมูลในส่วนไหนก็ให้นำไปใช้งานโดยอ้างตามคีย์นั้นๆ เช่น
$result['ServiceResult']['vName']['anyType']
จะได้ชื่อของผู้ประกอบการมานั่นเอง
ค้นหาเลขผู้เสียภาษีเพื่อทดสอบการทำงานที่เว็บไซต์ http://www.rd.go.th/publish/313.0.html
มาเริ่มเขียนโปรแกรมกันเลย
<html>
<head>
<title>WebService VAT</title>
</head>
<body>
<?php
include("nusoap/nusoap.php");
$wsdl = 'https://rdws.rd.go.th/serviceRD3/vatserviceRD3.asmx?wsdl';
header('Content-Type: text/html; charset=utf-8');
$soapclient = new nusoap_client($wsdl, true);
$soapclient->soap_defencoding = 'UTF-8';
$soapclient->decode_utf8 = false;
$err = $soapclient->getError();
if ($err) {
echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
}
$tax_id = isset($_REQUEST['tax_id']) ? $_REQUEST['tax_id'] : '';
$var_name = array(
'username' => 'anonymous',
'password' => 'anonymous',
'TIN' => $tax_id,
'skip' => 0
);
$result = $soapclient->call('Service', $var_name);
if(!empty($result)){
// Check for a fault
if ($soapclient->fault) {
echo '<h2>Fault</h2><pre>';
print_r($result);
echo '</pre>';
} else {
// Check for errors
$err = $soapclient->getError();
if ($err) {
// Display the error
echo '<h2>Error</h2><pre>' . $err . '</pre>';
} else {
$data = $result['ServiceResult'];
if(isset($data['vName']['anyType']) && $data['vName']['anyType'] != ''){
echo 'VAT => TRUE';
}else{
echo 'VAT => FALSE';
}
}
}
}else{
echo 'VAT => FALSE';
}
// Display the result
echo '<hr/><h2>Result</h2><pre>';
print_r($result);
echo '</pre>';
?>
</body>
</html>
เว็บไซต์ที่เกี่ยวข้อง
Web service กรมสรรพากรhttp://www.rd.go.th/publish/42535.0.html
http://www.rd.go.th/publish/313.0.html
NuSOAP for PHP 5.4 - 7.1
https://github.com/econea/nusoap
สร้างและเรียกเว็บเซอร์วิส ด้วย PHP
http://www.thaicreate.com/community/php-create-and-call-web-service.html
ความคิดเห็น
แสดงความคิดเห็น