PDA

View Full Version : مشکل در فراخوانی وب سرویس (WSDL) و توابع مربوطه



mriahi
دوشنبه 17 بهمن 1390, 09:01 صبح
سلام دوستان
من آدرس یک فایل وب سرویس دارم که لینک زیر هستیش

http://pg.tejaratbank.net/paymentGateway/services/merchant.wsdl

وفتی این وب سرویس رو به پروژه اضافه می کنم، باید تابعی که برای تایئد تراکنش پرداخت هست رو به فرمت زیر بشه فراخوانی کرد.
totalAmount = verifyWebServiceMethod ( merchantId, referenceNumber );

اما در همه شرایط من با خطا مواجه شدم.
لازم به ذکر ه که این وب سرویس بخشی از پروسه پرداخت آنلاین بانک تجارت هستش.
امیدوارم یکی از دوستان بتونه کمکم بکنه (riahipour.m@gmail.com)

majid784
دوشنبه 17 بهمن 1390, 14:05 عصر
سلام
ممکنه توی کدهای خودت اشتباهی کرده باشی. مثلا توی پارامترهایی که قراره برای تابع وب سرویس بفرستی. اما این احتمال هم هست که مشکل از وب سرویس باشه. با توجه به مسئله تحریمها، پرداخت آنلاین بانکها برای بعضی از سایتهایی که هاستشون توی کانادا یا آمریکاست مشکل پیدا کرده. مثلا من خودم این مشکل را با وب سرویس بانک پارسیان داشتم. پارسیان برای حل این مشکل وب سرویسش رو روی یه آدرس جدید برد و مشکل حل شد. به نظر من اگه مطمئنی کدهات مشکلی نداره با تجارت الکترونیک بانک تجارت تماس بگیر.

mriahi
یک شنبه 23 بهمن 1390, 10:31 صبح
سلام
ممنونم از پاسخت مجید جان،
برات امکان داره با لینک وب سرویس که بهت دادم یه فراخوانی انجام بدی و من نحوه فراخوانی شما از تابع وب سرویس رو ببینم.
با تشکر

mriahi
یک شنبه 25 تیر 1391, 18:18 عصر
سلام دوستان
من چند ماه پیش، بعد از کلی بالا و پائین کردن سرویس های بانک تجارت، تونستم این مشکل رو حل کنم. :چشمک:
البته دوستی این موضوع رو حل کرده بود ولی هزینه خیلی گزافی خواست که تقریبا معادل کل پروژه من بود.
دوستانی که بخوان میتونم با هزینه بسیار معقولی در اختیارشون قرار بدم.:لبخندساده:
riahipour.m@gmail.com

Papa Roach
جمعه 24 شهریور 1391, 22:22 عصر
من این مشکل رو حل کردم ، سورس نمونه رو در اختیار شرکت سباپردازش قرار میدم تا از این ببعد کد سالم در اختیار توسعه دهنده ها قرار بدند.
آدرس endpoint رو دوباره باید ست کرد قبل از فراخوانی و نحوه ساختار پارامتر ها هم باید مثل کد نمونه باشه.



$client = new nusoap_client($wsdl,true);
$err = $client->getError();
if ($err) {
// echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
// echo '<h2>Debug</h2><pre>' . htmlspecialchars($client->getDebug(), ENT_QUOTES) . '</pre>';
// exit();

$msg= "مشکل در ارتباط با بانک!";
}

$params = array(
"verifyRequest" =>array(
'merchantId' => 'FA00',
'referenceNumber' => $referenceId)

);
$client->setUseCurl(0);
// یک بار دیگه آدرس رو ست می کنیم
$client->setEndpoint($wsdl);
$client->soap_defencoding = 'UTF-8';
$client->decode_utf8 = true;
$result = $client->call("verify",$params);
..
..
}

smakhavan
چهارشنبه 27 دی 1391, 14:06 عصر
Papa Roach (http://barnamenevis.org/member.php?14078-Papa-Roach) عزيز، اين برنامه‌اي كه نوشتين توي php هست، كسي راه حلي براي aps نداره؟

Naa3er
چهارشنبه 18 بهمن 1391, 17:44 عصر
بوسیله web refrence این مشکل قابل حل است
در فروم های ایرانی یا کسی بلد نیست مشکل رو حل کنه یا اگر هم بلد باشه انگار می خواد فرمول ظاهر کردن ارواح و یا ... رو یاد بده و کلی پول می خواد
البته همین کارها رو کردیم که الان اینجایم و اصلا پیشرفت نکردیم
من با کمی سوال و جواب تو سایت Codeproject.com پس از سه چهار روز مشکل من رو حل کردند البته بی هیچ منت، منم اونو در اختیار دوستان قرار می دم. لطفا به این آدرس مراجعه نمایید
http://www.codeproject.com/Questions/538419/problemplusinpluscallingpluswebplusserviceplusonpl

rejena
جمعه 11 مرداد 1392, 13:09 عصر
سلام
من دارم PHP کد میزنم و باید به یک وب سرویس .NET متصل بشم.
و یک شماره ای که از ورودی گرفته رو داخل وب سرویس صحتشو چک کنه و مقدار true و false برگردونه



$wsdl = "http://192.168.100.16:8022/SMCIVRServices.asmx?wsdl";
$soap_client = new SoapClient($wsdl);
//$CN = array ('CardNumber' => $CardNum);

$response = $soap_client->__soapCall('CardNumber', array( $CardNum => $CN ));




این کد حتی وب سرویس رو هم فراخوانی نمیکنه چه برسه به اینکه بخواد صحت شماره رو چک بکنه
کسی از دوستان میتونه منو راهنمایی کنه؟؟؟