PDA

View Full Version : سوال: چطور از نصب بودن Soap Extension مطلع بشم؟ چطور می تونم یه وب سرویس طراحی کنم؟



idocsidocs
شنبه 21 آبان 1390, 01:58 صبح
چطور از نصب بودن Soap Extension مطلع بشم؟ چطور می تونم یه وب سرویس طراحی کنم؟

آیا طراحی وب سرویس کار ساده ای هست یا نه؟ لطفا در این مورد توضیح بدید؟

pejman_view
شنبه 21 آبان 1390, 07:52 صبح
سلام

وب سرویس کار زیاد سخت نیست البته بستگی به سطح مهارت و دانش شما دارد و همینطور بایستی مسائل امنیت یک وب سرویس را هم در نظر داشته باشید، اگر دقیقاً بگویید چه کاری می خواید بکنید شاید بیشتر دوستان و یا من بتونیم راهنمایی ات کنیم.

اما برای اینکه بدونید فعال است یا نه؟ راه خاصی وجود ندارد مثل تابع phpinfo() که اطلاعات کاملی بدست بیارید اما راهی که من پیشنهاد می کنم اینه که این کلاس را بنویسید:

$client = new SoapClient();

وقتی soap فعال باشد هیچی نمایش داده نمی شود.اما اگر فعال نباشد پیامی مانند پیام ذیل می بینید:
Fatal error: Class 'SoapClient' not found in root\pejman\www\soap.php on line 5

idocsidocs
شنبه 21 آبان 1390, 11:05 صبح
وقتی soap فعال باشد هیچی نمایش داده نمی شود.اما اگر فعال نباشد پیامی مانند پیام ذیل می بینید:
فکر کنم با توبعی مثل class_exists و ... هم بشه تست کرد.


وب سرویس کار زیاد سخت نیست البته بستگی به سطح مهارت و دانش شما دارد و همینطور بایستی مسائل امنیت یک وب سرویس را هم در نظر داشته باشید،
با پی اچ پی که درست می گید، زیاد سخت نیست که بخوایم یه وب سرویس بسازیم، ولی برای سایر زبانها باید چیکار کنیم؟ چطور می تونم ماژولهای سایر زبانها رو بنویسم و در اختیار کاربران سایت قرار بدم؟

اگر دقیقاً بگویید چه کاری می خواید بکنید شاید بیشتر دوستان و یا من بتونیم راهنمایی ات کنیم.فعلا در حد یادگیری می خوام یه وب سرویس راه اندازی کنم. مثلا قیمت طلا و ارز رو به عنوان وب سرویس ارائه بدم.

می شه در مورد فایل nosoap.php که همراه خیلی از وب سروریسها وجود داره توضیح بدید؟ کار این فایل چیه؟

pejman_view
شنبه 21 آبان 1390, 13:04 عصر
فکر کنم با توبعی مثل class_exists و ... هم بشه تست کرد.
بله اینطوری هم می شه اما خوب دیگه راه دقیقی نیست! برای اینکار اگر لینوکس دارید pear رو چک کنید می تونید ببینید soap فعال یا نه؟



با پی اچ پی که درست می گید، زیاد سخت نیست که بخوایم یه وب سرویس بسازیم، ولی برای سایر زبانها باید چیکار کنیم؟ چطور می تونم ماژولهای سایر زبانها رو بنویسم و در اختیار کاربران سایت قرار بدم؟

نگاه کنید این ها پروتکل هایی هستند که بصورت استاندارد در تمامی زبان ها وجود دارد و کدنویسی آنها بسته به نوع زبان انجام می شود و مهم نیست که سرور شما با PHP نوشته شده باشد یا ASP و زبان پایه فرق کند ارتباط بین این دو زبان بر اساس این پروتکل برقرار خواهد شد. بگذار یک مثال بزنم که حرفم واضح تر بشه:
من یک فایل به زبان PHP نوشتم که یک سری مقادیر رو بصورت POST دریافت می کند. حالا اگر برنامه ایی در زبان ASP بنویسم که این مقادیر را بصورت POST بفرستد بخوبی فایل PHP مقادیر را دریافت می کند چون هر دو زبان از پروتکل و استانداردهای HTML استفاده می کنند.


فعلا در حد یادگیری می خوام یه وب سرویس راه اندازی کنم. مثلا قیمت طلا و ارز رو به عنوان وب سرویس ارائه بدم.
البته این کار رو می شه با RSS FEED به راحتی انجام داد... و نیازی به نوشتن ماژول و کدهای سنگین نیست.


می شه در مورد فایل nosoap.php که همراه خیلی از وب سروریسها وجود داره توضیح بدید؟ کار این فایل چیه؟
فکر کنم منظورتون nusoap هست. اگر بخوام راحت توضیحش بدم یک گروه از کلاس که به برنامه نویس ها این امکان رو می ده که بدون نیاز به داشتن هیچ نوع اکستنشن بتونی از soap استفاده کنی.

با امید موفقیت...

idocsidocs
شنبه 21 آبان 1390, 13:15 عصر
فکر کنم منظورتون nusoap هست. اگر بخوام راحت توضیحش بدم یک گروه از کلاس که به برنامه نویس ها این امکان رو می ده که بدون نیاز به داشتن هیچ نوع اکستنشن بتونی از soap استفاده کنی.من روی لوکال هاست تست کردم، ولی nusoap نتونست وب سرویس زرین پال رو اجرا کنه. بنظرتون مشکل کجا بود؟


بله اینطوری هم می شه اما خوب دیگه راه دقیقی نیست! برای اینکار اگر لینوکس دارید pear رو چک کنید می تونید ببینید soap فعال یا نه؟
چرا راه دقیقی نیست؟

pejman_view
شنبه 21 آبان 1390, 13:30 عصر
من روی لوکال هاست تست کردم، ولی nusoap نتونست وب سرویس زرین پال رو اجرا کنه. بنظرتون مشکل کجا بود؟معمولاً کانفیگ لوکال هاست ما مطابق با آنچیزی نیست که در وب سرورها استفاده می شود بخاطر همین خیلی اوقات مجبور می شم برای بعضی از تکنیک ها و روش ها اسکریپتهای خودمون را رو وب سرور راه اندازی کنیم اما اگر بلد باشی با php.ini کار کنی خیلی اوقات می تونی مشکلتو برطرف کنی مثلاً برای soap باید این ها رو فعال کنی:
soap.wsdl_cache_enabled=1
soap.wsdl_cache_dir="/tmp"
extension=php_soap.dll
extension=php_openssl.dll
این ها رو باید set کنی...
این کار باعث فعال سازی soap می شه یه امتحان کن شاید جواب بده...
و دقیقاً نگفتی سایت اجرا نمی شه چطور اجرا نمی شه و منظورت از اجرا نشدن چیه؟

چرا راه دقیقی نیست؟
راه دقیق منظورم مانند تابع phpinfo() که همه چیز را نمایش می دهد، چیزی وجود ندارد که نشان دهد.
اما چراه راه های خیلی زیادی هست که بتونی تشخیص بدی