تالار گفتمان nCIS.ir

نسخه‌ی کامل: مشکل با ارسال sms
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام عزیزان من در Yii2 از این کلاس برای ارسال وب سرویس استفاده کردم

class Sms
{

   private static $url = '=======';
   private static $number = '======';
   private static $username = '=====';
   private static $password = '====';

   public static function send($to, $text)
   {
       ini_set('soap.wsdl_cache_enabled', '0');
       try {
           $soapClient = new SoapClient(self::$url);
           $parameters = array(
               'sender_number'=>self::$number,
               'ersal_flash'=>false,
               'password'=>self::$password,
               'note'=>iconv('UTF-8', 'UTF-8//TRANSLIT', $text),
               'reciever_number'=>array($to),
               'username'=>self::$username,
           );
           if($soapClient->sms_send($parameters)->SendSmsResult == 1) {
               return true;
           }
           return false;
       }
       catch (Exception $e) {
           return false;
       }
   }
}

اما این اررور را دریافت میکنم

SoapFault

Function ("sms_send") is not a valid method for this service

در Yii2 از کدام کلاس استفاده کنم یا چطوری مشکل را حل کنم ؟


این هم متدی که سایت بم داده

نام متد sms_send : این متد برای ارسال پیامک از طریق وب سرویس استفاده خواهد شد . این متد 8 پارامتر ورودی دریافت میکند که شامل : username,password,sender_number,reciever_number,note,ersal_flash,onlysend,date خواهد بود . 

پارامتر ها : 

- username : نام کاربری مورد استفاده در سامانه پیامک  [اجباری]

- password : رمز عبور مورد استفاده در سامانه پیامک [اجباری]

- sender_number : شماره ارسال کننده در سامانه پیامک  [اجباری]

- reciever_number : شماره دریافت کننده پیامک  [اجباری]

- note : متن پیامک ارسالی  [اجباری]

- ersal_flash : آیا پیامک به صورت فلش ارسال شود یا خیر ( مقدار true یا false دریافت میکند ) [اختیاری]

- onlysend : جهت ارسال سریع بدون وقفه در زمان ارسال پیامک ( ارسال پیامک با تاخیر 15 ثانیه به مشترک انجام خواهد شد) [اختیاری]

- date : تاریخ ارسال پیامک ( مورد استفاده جهت پیامک های ارسال در آینده ) [اختیاری]
ارتباطی به Yii2 نداره. آدرس وب‌سرویس رو بگذارین تا بررسی بشه. متد send_sms تعریف نشده توی وب‌سرویس. ببینید چی بوده اسم متد. ممکنه API رو تغییر داده باشن ولی داکیومنت رو بروزرسانی نکرده باشن.
بله مشکل از تغییرات در API بود که در مستندات تغییر نکرده بود ...
این چرا اینقدر WSDL اش داغونه؟ واسه وب‌سرویس خودمون رو ببینید:
http://sms.ncis.ir/post/send.asmx?wsdl

البته مشکل از اون نیست. شما SendSms رو صدا زدین که اشتباهه و باید send_sms رو صدا بزنین.