PDA

View Full Version : متد های وب سرویس



morudi
دوشنبه 23 اردیبهشت 1392, 21:46 عصر
سلام دوستان من چه طور می تونم متد هایی رو که سامانه وب سرویس در اختیازم می گذارد فراخوانی کنم ؟
پیشاپیش ممنون

MMSHFE
دوشنبه 23 اردیبهشت 1392, 22:47 عصر
نمونه اول با NuSOAP هست و دومی با SOAP خود PHP :


// NuSOAP
require_once 'nusoap/nusoap.php';
$client = new NuSOAP_Client('http://sms.ncis.ir/post/send.asmx?WSDL', 'wsdl');
$parameters = array('username' => 'ncdemo', 'password' => 'demo');
echo $client->call('GetCredit', $parameters);

// SOAP
$client = new SOAP_Client('http://sms.ncis.ir/post/send.asmx?WSDL', 'utf-8');
$parameters = array('username' => 'ncdemo', 'password' => 'demo');
echo $client->GetCredit($parameters);

morudi
سه شنبه 24 اردیبهشت 1392, 08:04 صبح
فقط می دونید چیه من تمامی مستنداتی رو که وب سرویس داده بهم یا به عبارت دیگر کلاس های فایل nusoap.php را بررسی کردم ولی متدی برای SOAP_Client پیدا نکردم اصلا این متد وجود نداره GetCredit ولی توی PDF که داده نام این متد ذکر شده
لینک فایل (http://www.sepahansms.ir/docs/phpsample.zip)
لینک PDF (http://www.sepahansms.ir/docs/webserviceHelp.pdf)

MMSHFE
سه شنبه 24 اردیبهشت 1392, 08:38 صبح
دوست عزیز، اگه از NuSOAP استفاده میکنید، باید با متد Call کار کنید و از NuSOAP_Client برای ایجاد شئ استفاده کنید. این کلاس توی مستندات وب سرویس شما نیست چون جزو NuSOAP هست نه جزو وب سرویسی که به شما داده شده. این کد رو تست کنید:


<?php
require_once 'nusoap/nusoap.php';
$client = new NuSOAP_Client('http://www.sepahansms.com/smsSendWebService.asmx?wsdl', 'wsdl');
$client->soap_defencoding = 'UTF-8';
$client->decode_utf8 = false;
$param = array(
'UserName' => 'Your Username',
'Pass' => 'Your Password',
'Domain' => 'Your Domain Name'
);
$result = $client->call('Login', array('parameters' => $param), '', '', false, true);
$result = $client->call('getCredit', array('parameters' => array()), '', '', false, true);
$message = 'سلام';
$param = array(
'SmsText' => iconv(mb_detect_encoding($message), 'UTF-8//TRANSLIT', $message);
'MobileNumber' => '0913XXXXXXX',
'SenderNumber' => '3000XXXX',
'smsMode' => 'SaveInPhone'
);
$result = $client->call('SendSingleSms', array('parameters' => $param), '', '', false, true);
?>

اگه به شما اعتبار رو نشون داد که درست کار میکنه و با همین الگو بقیه متدها رو هم صدا بزنید.

morudi
سه شنبه 24 اردیبهشت 1392, 13:46 عصر
میشه گفت کلاس NuSOAP خودمان ساختیم ولی SOAP جزوه کلاس های php هست ؟

MMSHFE
سه شنبه 24 اردیبهشت 1392, 13:48 عصر
نه کلاس NuSOAP رو شرکت Nusphere ساخته ولی کلاس SOAP یک Extension برای PHP هست (جزو خود PHP نیست).

morudi
سه شنبه 24 اردیبهشت 1392, 13:56 عصر
کدام یک از این ها خوب و راحت تر هست ؟

morudi
سه شنبه 24 اردیبهشت 1392, 19:13 عصر
برای SOAP لازم نیست که فایل زیر رو اینکلود کنیم ؟
require_once 'nusoap/nusoap.php';

MMSHFE
سه شنبه 24 اردیبهشت 1392, 20:06 عصر
نه اون فقط برای NuSOAP لازمه.