|
راه اندازی یک وب سرویس با SOAP |
|
|
|
|
Written by مدیریت سایت
|
|
|
|
سلام نوبتی هم باشه دیگه نوبت سایت خودمه بیچاره چند وقته مونده امروز میخوام نحوه ی راه اندازی یک وب سرویس تحت زبان PHP رو براتون بگم
خوب شاید SOAP به گوشتون خورده باشه یکسری کلاس هست که توسط اون شما میتونین به افراد دیگه از جای دیگه دسترسی به فانکشن های شما داشته باشن مثلا شما میخوایین یک دیکشنری آنلاین راه اندازی کنین یا یک سیستم ثبت دامین یا ارسال sms و هزارو یک چیزه دیگه .....
من یه مثال سادش رو براتون شرح میدم تا اصل کارو متوجه بشین میخواییم یه دیکشنری آنلاین راه اندازی کنیم مواد لازم
1- دیتا بیس دیکشنری از همینجا دانلودش کنین 2- کلاس SOAP.php اینم از همینجا بگیرینش 3 - نوشتن کد
ابتدا فایل کانفیگ رو میاریم بعدش فایل soap بعدش فانکشن را مینویسیم بعد کلاس soap_server رو ایجاد میکنیم و در آخر هم فانکشن رو رجیستر میکنیم
یادتون نره که فایل dic.sql.gz رو توی دیتا بیس import کنین موفق باشین
|
<?PHP
// Code created by SajadOnline // call DB function and connect to MySQL DB server require_once($_SERVER['DOCUMENT_ROOT'].'/config.php'); require_once($_SERVER['DOCUMENT_ROOT'].'/nusoap.php'); db_connect();
function dictionery($word) { // Filtering input -> $word
if(empty($word)){return 'word is empty!'; exit;} $word = htmlspecialchars($word); $word = mysql_real_escape_string($word);
// run query $query = mysql_query("SELECT `out` FROM `dic` WHERE `in` = '$word' ");
// check exist word in DB if(mysql_num_rows($query) == 1 ) { $word = mysql_fetch_array($query);
}else{ return 'Not find this word in DB !';exit; } }
// create SOAP server object $server = new soap_server(); // setup WSDL file, a WSDL file can contain multiple services $ns = "http://api.sajadonline.com/"; $server->configureWSDL('API Access SajadOnline',$ns); $server->wsdl->schemaTargetNamespace=$ns; // register a web service method */
$server->register('dictionery', array( 'word'=> 'xsd:string', ),
array('result' => 'xsd:string'), // output parameter $ns, // namespace "$ns#CheckProduct", // soapaction 'rpc', // style 'encoded', // use 'Enter Valid word' // documentation );
function msg($pid){ return new soapval('return','xsd:string',dictionery($word)); }
$server->service($HTTP_RAW_POST_DATA);
?>
|
|