PDA

View Full Version : چگونگی استفاده از soap در asp.net



clover
سه شنبه 12 آبان 1388, 23:13 عصر
با سلام
من در سایتم نیاز به استفاده از یک وب سرویس دارم که آدرسش این هست :

http://www.30ds.com/Webservice/wsdl.php

با استفاده از add web reference این آدرس را وارد کردم و متد ها را هم مشاهده کردم اما اصلا نمی دونم که چطور باید به این متد ها دسترسی پیدا کنم .
در این زمینه کاملا مبتدی هستم و ممنون میشم اگر کمک کنید .

مهدی کرامتی
سه شنبه 12 آبان 1388, 23:44 عصر
1- ابتدا روی فولدر References در پروژه تان Right Click کنید و Add Service Reference را انتخاب کنید.
2- آدرس Web Service Definition تان را در بخش URL وارد کنید و دکمه Go را کلیک کنید. سپس در قسمت Namespace نام دلخواه (مثلا IranMcService) را وارد کنید و سپس دکمه OK را کلیک کنید.


39273
3- پس از افزوده شدن Reference سرویس فوق به پروژه تان روی نام آن سرویس در Solution Explorer در بخش Service References دابل کلیک کنید. پنجره Object Browser باز خواهد شد. طی مرور کلاس های موجود در پروژه نام کلاس های Import شده را خواهید دید. همانطور که می بینید کلاسی بنام ShoppingCartPortClient در لیست کلاس های شما وجود دارد.


39274
4- در کد برنامه تان می توانید نمونه ای از کلاس فوق ساخته و متدهای آن را فراخوانی کنید:

39275

clover
چهارشنبه 13 آبان 1388, 01:25 صبح
از راهنمائیتون واقعا ممنونم .

کلاسی با نام ShoppingPortTypeClient وجود داشت که نمونه ای ازش ساختم . با اجرای برنامه خطای زیر در مرورگر ظاهر میشه . علت چیه ؟


Could not find default endpoint element that references contract 'IranMcService.ShoppingPortType' in the ServiceModel client configuration section. This might be because no configuration file was found for your application, or because no endpoint element matching this contract could be found in the client element.


پیشاپیش بخاطر وقتی که میذارید ممنونم

clover
چهارشنبه 13 آبان 1388, 14:15 عصر
مشکل در تنظیمات web.config بود که حل شد . اما یه سوال دیگه : برای استفاده از این وب سرویس به یوزر و پسورد احتیاج هست . چطور باید لاگین کنم و یا بهتر بگم یوزر و پسوردم را کجا باید وارد کنم ؟

مهدی کرامتی
چهارشنبه 13 آبان 1388, 19:50 عصر
خودشان مستنداتی ارائه نداده اند؟ آیا ذکر نکرده اند با چه روشی میبایست احراز هویت انجام شود؟

clover
چهارشنبه 13 آبان 1388, 23:33 عصر
خودشان مستنداتی ارائه نداده اند؟ آیا ذکر نکرده اند با چه روشی میبایست احراز هویت انجام شود؟

فقط یک نمونه کد که ظاهرا php هست ، با بخش فنی هم که تماس گرفتم کسی که جواب داد گفت من asp کار نکردم !
این نمونه کد هست :

$option=array('login'=> "PanelUsername",'password'=> "WebServicePassword");

$client = new SoapClient("http://www.30ds.com/Webservice/wsdl.php",$option);

try{

$response = $client->GetSendPrice(30000,200,51,8,0);

$response = $client->RegisterOrder( "man" , "human" , "05111234567" , "05117654321" , "1234567" , "123456789" , "human@example.com" , "56789" , "mashhad" , "hello" ,"41" ,"14" ,"49^Windows Vista Home Edition^25000^100^1" , 0 );

echo $response;

}

catch (SoapFault $sf) {

echo $sf->faultcode."\n";

echo $sf->faultstring."\n";

}