مودل: فعال کردن وب سرویس دریافت اطلاعات کاربر

گام اول: فعال کردن ویژگی وب سرویس‌ها

برای فعال کردن وب سرویس ها ابتدا از "خانه / مدیریت سایت / امکانات پیشرفته" گزینه "فعال بودن وب سرویس ها" را انتخاب کنید.

گام دوم: فعال کردن پروتکل‌ها

پروتکل‌های SOAP, REST, XMLRPC, AMF در مودل پیاده سازی شده است. در مسیر "خانه / مدیریت سایت / پلاگین‌ها / وب‌سرویس‌ها / مدیریت پروتکل‌ها" پروتکل‌های مورد نظر را فعال کنید.

گام سوم: ایجاد یک وب سرویس

تعداد زیادی وب سرویس در هسته مودل پیاده‌سازی شده و آماده استفاده است. اما در صورت نیاز می‌توانید وب سرویس‌های دیگر را برای مودل توسعه دهید.

برای فعال‌سازی وب سرویس وارد مسیر "خانه / مدیریت سایت / پلاگین‌ها / وب‌سرویس‌ها / سرویس‌های خارجی" شوید. سپس بر روی گزینه "اضافه کردن" کلیک کنید و با تکمیل فرم یک وب سرویس ایجاد کنید.

گام چهارم: اضافه کردن توابع به وب سرویس

روال کار به این صورت است که یک وب سرویس ایجاد می‌کنیم سپس توابع مورد نیاز را به آن اضافه می‌کنیم. برای اضافه کردن توابع از لیست وب سرویس‌ها بر روی گزینه "توابع" کلیک می‌کنیم و در صفحه بعد توابع مورد نیاز را اضافه می‌کنیم.

به عنوان مثال برای ایجاد یک وب سرویس به منظور ایجاد کاربر جدید و دسترسی به اطلاعات کاربران توابع زیر را اضافه کنید.

  • core_user_create_users
  • core_user_get_users_by_id
  • core_enrol_get_enrolled_users
  • core_enrol_get_users_courses

گام پنجم: حق دسترسی‌ها

برای فراخوانی وب سرویس‌ها به عبارت رمزی (TOKEN) نیاز است. برای ایجاد عبارت رمزی به مسیر "خانه / مدیریت سایت / پلاگین‌ها / وب‌سرویس‌ها / مدیریت عبارت‌های رمزی" رفته و با انتخاب کاربر و وب سرویس مورد نظر یک عبارت رمزی ایجاد می‌کنیم. این عبارت که به صورت یک رشته (مثال: 8ac10798e0a571xde3e2c45aaacc8c88) است، هنگام فراخوانی توابع وب سرویس باید ارسال شود.

گام ششم: آزمایش وب سرویس و پیاده سازی کلاینت

می‌توانید وب سرویس را در آدرس با فرمت http://lms.rastasoft.ir/webservice/soap/server.php?wsdl=1&wstoken=xyz مشاهده کنید. برای آزمایش سرویس لازم است یک کلاینت توسعه دهیم. یک فایل با پسوند php ایجاد کرده و کد زیر را وارد کنید.

<?php

/// SETUP - NEED TO BE CHANGED
$token = '8ac10798e0a571xde3e2c45aaacc8c88';
$domainname = 'http://lms.rastasoft.ir';
$functionname = 'core_user_get_users_by_id';
$params = array(1, 12664);

/// SOAP CALL
$serverurl = $domainname . '/webservice/soap/server.php' . '?wsdl=1&wstoken=' . $token;

////Do the main soap call
$client = new SoapClient($serverurl);
try {
  $resp = $client->__soapCall($functionname, array($params));
} catch (Exception $e) {
  print_r($e);
}

if (isset($resp)) {
  print_r($resp);
}

فایل مربوط به کلاینت تست در پیوست همین مطلب نیز آمده است.

افزودن نظر جدید