PDA

View Full Version : فراخوانی وب سرویس



razaghi
دوشنبه 08 فروردین 1390, 13:24 عصر
با سلام.
من webMethod در وب سرویس تعریف کردم می خواهم وقتی button کلیک می شود این webmethod صدا زده شود.
بر روی local بدون مشکلی کار می کنه. حتی local به صورتی تنظیم کردم که بره وب سرویس از روی سرور صدا بزنه. بازم کار کرد. ولی وقتی upload می کنم و اجرا می کنم در IE6 کار نمی کنه و در firefox نیز webmethod صدا می زنه ولی error می دهد. status آن صفر نشان می دهد.
دستور به صورت زیر نوشتم :
var dataStr= "{'itemID':'" + itemID + "','Lang':'1'}";
$.ajax({

type: "POST",
url: "http://yourdomain.com/Weblog.asmx/SetVisitNo",
data: dataStr,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(flag)
{
if (flag == true)
{
alert('ddd');
}
},
error: function(x)
{
alert(x.status);
}
});
در IE حتی alert بخش error نشان نمی دهد. ولی در firefox صفر نشان می دهد.
چه کار باید بکنم؟

eleboys
سه شنبه 09 فروردین 1390, 22:22 عصر
در ظاهر که کدت مشکلی نداره؛ خودتم میگی تو لوکال خوب جواب میگرفتی! اگر برات ممکنه آدرس یجایی توی وب که بالا گذاشتی آدرس بده تا مشکل رو همون بالا ببینیم. پیغام خطایی که نشون میده میتونه تو جواب کمک کنه.

razaghi
چهارشنبه 10 فروردین 1390, 08:41 صبح
پیغام javascript که میده : permission denied
وب سرویس در دامنه دیگری است و من در دامنه دیگری آن را صدا زدم و پیغام عدم دسترسی میدهد. من مجبور شدم که وب سرویس در دو تا دامنه داشته باشم. که البته کار معقولی نیست. اگر راه حلی ارائه بدهید ممنون میشم.
من در دامنه زیر Upload کردم. و با آدرس زیر به آن دسترسی دارم
www.domain1.com/webSrv/weblog.asmx
می خواهم در دامنه domain2 این وب سرویس را صدا بزنم و webMethod از آن را صدا بزنم و به صورت زیر نوشتم
www.domain1.com/webSrv/weblog.asmx
این پیغام permission denied می دهد. مجبور شدم در دامنه فوق upload کردم و با آدرس زیر صدا زدم
www.domain2.com/webSrv/weblog.asmx
راه حل ین مشکل چیست؟

mehdi.mousavi
چهارشنبه 10 فروردین 1390, 16:16 عصر
سلام.
برای انجام این کار باید از JSONP یا همون JSON with Padding استفاده کنید. قبلا در این مورد بارها توضیح داده ام:


load یک تگ از صفحه متعلق به یک سایت دیگر در صفحه خودمان (http://barnamenevis.org/showthread.php?198200-load-%DB%8C%DA%A9-%D8%AA%DA%AF-%D8%A7%D8%B2-%D8%B5%D9%81%D8%AD%D9%87-%D9%85%D8%AA%D8%B9%D9%84%D9%82-%D8%A8%D9%87-%DB%8C%DA%A9-%D8%B3%D8%A7%DB%8C%D8%AA-%D8%AF%DB%8C%DA%AF%D8%B1-%D8%AF%D8%B1-%D8%B5%D9%81%D8%AD%D9%87-%D8%AE%D9%88%D8%AF%D9%85%D8%A7%D9%86)
جست و جو در HTML (http://barnamenevis.org/showthread.php?228375-%D8%AC%D8%B3%D8%AA-%D9%88-%D8%AC%D9%88-%D8%AF%D8%B1-html)
مشکل jQuery با IP ی سایت (http://barnamenevis.org/showthread.php?258079-%D9%85%D8%B4%DA%A9%D9%84-JQuery-%D8%A8%D8%A7-Ip-%D8%B3%D8%A7%DB%8C%D8%AA)
و ...

موفق باشید.

eleboys
چهارشنبه 10 فروردین 1390, 18:52 عصر
آها پس مشکلتون اینه!! از یک دامیل می خواید وب سرویسی رو که در یک دامین دیگه هست صدا بزنید که ajax این اجازه رو به شما نمیده! راه حل هایی برای این کار وجود داره که کاربر mehdi.mousavi چندتا لینک ازشون تو پست بالا براتون گذاشتن.