PDA

View Full Version : مشکل upload سرویس soap در شبکه



accpascal
سه شنبه 19 آذر 1387, 19:21 عصر
من یک برنامه کلاینت / سرور با استفاده از سرویس soap نوشته ام که در کامپیوتر خودم بخوبی کار می کنه ولی وقتی برنامه سرویس دهنده را به سرور شبکه upload می کنم برنامه کارنمی کنه
سوال- آیا در سرور شبکه برنامه خاصی باید install بشه؟

Saeed_m_Farid
چهارشنبه 20 آذر 1387, 11:17 صبح
به نظر من که سوالت زیاد مفهوم نیست
اولا SOAP سرویس نیست و پروتکله و

برنامه کلاینت / سرور با استفاده از سرویس soap
رو باید بیشتر توضیح بدین ...
بعدشم منظورت اینه که میخوای وب سرویست رو Deploy کنی؟ با چی و چه فریم ورکی وب سرویست رو نوشتی؟ چه فایلهایی رو آپلود میکنی؟ Error چیه؟ و ...

accpascal
چهارشنبه 20 آذر 1387, 14:29 عصر
از توضیحاتتان ممنون
یک سرویس وب با استفاده از پروتکل soap نوشته ام که حاصل آن یک فایل dll می باشد
می خواهم فایل فوق را به قول شما deploy کنم. فایل deploy می گردد ولی وقتی می خواهم در برنامه کلاینت از wsdl importer استفاده کنم فایل deploy شده شناسایی نمی شود
ممنون اگر راهنماییم کنید

Saeed_m_Farid
چهارشنبه 20 آذر 1387, 15:10 عصر
اگه وب سرویستون رو با محصولات دات نت نوشتین حاصل فقط یه dll نیس و باید تو IIS که Virtual Dir درست میکنین تمام این فایلها رو کپی کنید {میتونین فایل ضمیمه رو ببینید که من واسه بچه های پشتیبانمون درست کردم ...}
ولی اگه میتونید سرویستون رو تو IIS براوز (Brows) کنین و مشکل فقط تو درست کردن WSDL هستش باید دقیقاً نسخه دلفی رو بگید چون خودم هم با 2009 همین مشکل رو دارم، البته اول چک کن ببین wsdl? بعد http://.../{YourService}.asmx هست یا نه چون با بعضی وب سرویسها این مورد مشکل ایجاد میکنه (مخصوصا وب سرویسهای جاوا) که بعدا داخل کد باید این wsdl? رو ورداری ...

Saeed_m_Farid
چهارشنبه 20 آذر 1387, 15:13 عصر
ببخشید فایل ضمیمه یادم رفت :
البته این دقیقا واسه یکی از وب سرویسهای ما بود این پارامترها واسه شما فرق میکنه ...

accpascal
چهارشنبه 20 آذر 1387, 15:17 عصر
من وب سرویس را با دلفی 7 نوشتم که فقط یک فایل dll تولید می کنه و در iis کامپیوتر خودم بدون error کار می کنه

Saeed_m_Farid
چهارشنبه 20 آذر 1387, 16:01 عصر
تا اونجایی که من میدونم اگه میخوای از وب سرویسهای خود دلفی استفاده کنی اصلا نیازی به Importer نیس خودش مستقیم بهت IWSDLPublish میده که هم WSDL توش داره و هم پورت تایپ و ...
ضمنا کافیه سمت مقصد http://localhost/Scripts فایلت رو کپی کنی ،اگه اشتباه میکنم بهم بگو ولی من اینطوری یادم میاد ...

Saeed_m_Farid
چهارشنبه 20 آذر 1387, 17:47 عصر
ضمنا اصل سوال شما فراموش شد: مشکل اصلی شما این بود؟

سوال- آیا در سرور شبکه برنامه خاصی باید install بشه؟
برای اطمینان میپرسم : سمت سرور سرویس IIS اجراست یا نه؟

accpascal
چهارشنبه 20 آذر 1387, 19:55 عصر
تا اونجایی که من میدونم اگه میخوای از وب سرویسهای خود دلفی استفاده کنی اصلا نیازی به Importer نیس خودش مستقیم بهت IWSDLPublish میده که هم WSDL توش داره و هم پورت تایپ و ...
ضمنا کافیه سمت مقصد http://localhost/Scripts فایلت رو کپی کنی ،اگه اشتباه میکنم بهم بگو ولی من اینطوری یادم میاد ...

در دلفی باید از wsdl importer استفاده شود البته جهت استفاده در برنامه کلاینت
ضمنا سوال من هم در همین رابطه می باشد که فایل dll ایجاد شده را در مسیری که شما گفته اید کپی می کنم و برنامه کلاینت هم اجرا می شود اما وقتی برنامه سرور را deploy می کنم مثلا به یک آدرسی(www.mysite/scripts (http://www.mysite/scripts)) برنامه کلاینت اجرا نمی شود
حتی wsdl importer هم error می دهد

Saeed_m_Farid
پنج شنبه 21 آذر 1387, 13:52 عصر
در دلفی باید از wsdl importer استفاده شود البته جهت استفاده در برنامه کلاینت
من شاید نتونستم منظورم رو برسونم:
اگه میتونه کمکت کنه اینا رو یه نگاهی بندازی بد نیستن :


http://www.ebob42.com/cgi-bin/Soap42.exe?Client=%40&DB=%40&Server=F&Web=%40


http://www.drbob42.com/soap/index.htm

ghabil
جمعه 06 دی 1387, 04:22 صبح
من فکز میکنم ISAPI ساختی، که به صورت پیش فرض روی IIS 6 فعال نیست و دسترسی Execute هم میخواد ، همین ISAPI رو جستجو کنی قدیما توضیح دادم...

vcldeveloper
جمعه 06 دی 1387, 17:46 عصر
وقتی DLL ساخته، یعنی یا افزونه ISAPI ساخته، یا ماجول Apache ساخته. احتمالا همون اولی هست، چون گزینه پیش فرض دلفی هست.
روی وب سرورهای IIS 5 و Apache که فکر کنم فقط باید Virtual Directory مورد نظر را بسازید، و بهش مجوز Execute بدید. توی IIS 6 باید قبل از انجام این کارها، ISAPI را فعال کنید.

accpascal
جمعه 06 دی 1387, 20:42 عصر
وقتی DLL ساخته، یعنی یا افزونه ISAPI ساخته، یا ماجول Apache ساخته. احتمالا همون اولی هست، چون گزینه پیش فرض دلفی هست.
روی وب سرورهای IIS 5 و Apache که فکر کنم فقط باید Virtual Directory مورد نظر را بسازید، و بهش مجوز Execute بدید. توی IIS 6 باید قبل از انجام این کارها، ISAPI را فعال کنید.
dll با ISAPI ساخته شده است و همانگونه که شما فرمودید در کامپیوتر خدم virtual دایرکتوری ایجاد کردم و برنامه نیز اجرا می شود
اما مشکل من وقتی است که فایا dll را به یک سرور دیگر (www.accpascal.com)می (http://www.accpascal.com)می) خواهم آپلود کنم

vcldeveloper
شنبه 07 دی 1387, 01:01 صبح
اما مشکل من وقتی است که فایا dll را به یک سرور دیگر (www.accpascal.com)می (http://www.accpascal.com%29%d9%85%db%8c/) خواهم آپلود کنم
ISAPI روی Apache و IIS پشتیبانی میشه. باید روی سرور خودتون یک پوشه درست کنید، و به مجوزهای آن پوشه مجوز Execute را هم اضافه کنید تا بتونید برنامه خودتان را اجرا کنید.
اگر با فراخوانی DLL مربوط از سرور پیام خطایی هم دریافت می کنید، متن خطا را هم ذکر کنید.