PDA

View Full Version : سوال: دسترسی به وب سرویس در php



رامین مرادی
پنج شنبه 14 فروردین 1393, 15:27 عصر
سلام دوستان
من می خوام یه وب سرویس توی asp.net بسازم که داده های جدولی رو که توی اس کیو ال دارم به صورت یک جدول برام برگردونه یا همون نوع داده datatable
خوب حالا چطور میتونم این داده ها رو نشون بدم
یعنی بهتره بگم میخوام یه سلکت بگیرم از جدولم و این سلکتی که میکنم دوتا فیلد برام برمیگردونه یکی نام و یکی دیگه نام خانوادگی
البته تعداد سطر های بازگشتی معلوم نیست چند تا باشه
در ضمن این متد وب سرویس هیچ ورودی نداره و خروجیش نوع داده datatable میباشد

----------------
دلیل استفاده از وب سرویس هم اینه که نمیتونم چطور با پی اچ به به اس کیو ال سرور وصل بشم و توش عملیات انجام بدم . اگه این کارو میشه کرد:متفکر: .لطفا راهنمایی کنید.ممنون

us1234
پنج شنبه 14 فروردین 1393, 19:21 عصر
خروجی را از دیتا تیبل تبدیل کنید به یک آرایه و بعد در پی اچ پی استفاده کنید

در خصوص استفاده و تعریف وب سرویس های soap و یا NuSoap هم مشکل دارید یا فقط مشکل شما در این قضیه خروجی بود .

امکان ارتباط به اسکیوال سرور هم وجود دارد .

http://www.php.net/manual/en/function.mssql-connect.php

http://webcheatsheet.com/php/connect_mssql_database.php

رامین مرادی
پنج شنبه 14 فروردین 1393, 19:44 عصر
ممنون .
منظورتون از تبدیل به آرایه یعنی اینکه توی خود وب سرویس خروجیمو تبدیل به وب سرویس کنم. یا اینکه منظورتون چیز دیگه ای . اگه اولی هست اون مشکلی نیست میشه تبدیل کرد.
آره منظور من چگونگی دسترسی به این وب سرویس توی پی اچ پی هستش . توی ای اس پی بلدم ولی توی پی اچ پی سررشته ای ندارم
این دوتا سایتم رفتم ولی با یه مشکل عجیب روبرو شدم وقتی اکیتنشن اس کیو ال رو فعال کردم. میگه یه فایل دی ال ال یافت نشد . :متفکر:

us1234
پنج شنبه 14 فروردین 1393, 19:58 عصر
برای استفاده از وب سرویس در پی اچ پی 2 تا کلاس وجود داره . یکی soap که به صورت پیش فرض روی پی اچ پی نصب است و کلاس NuSoap که به صورت یک فایل با حجم 270 کیلو به برنامه انکلود میکنید . روش های استفاده در هرکدام تفاوت های جزیی دارد . من NuSoap را به دلیل اینکه حدس میزنم از سرور ویندوز استفاده میکنید و ممکنه soap وجود نداشته باشه مختصر توضیح میدم .



<?php
include_once('pathOfYourFile/nusoap.php');
$client =new nusoap_client("pathOfWSDLFileONnet");
$response = $client->call("YourMethod", 'MethodParametr');
?>

البته خیلی خیلی ساده اش کردم که این 3 خط شد .
هر جاش مشکل دارید بگید تا توضیح بدم

اگردر گوگل NuSoap را سرچ کنید اطلاعات بیشتر بدست میارید

در خصوص اون مشکل دی ال ال من دقیق در ویندوز اطلاع ندارم چطوری میشه ولی فکرکنم باید اکستنشن را روی سرور آپاچی نصب کنید

رامین مرادی
پنج شنبه 14 فروردین 1393, 20:24 عصر
ممنون که راهنمایی کردید الان دسترسی به وب سرویسم ندارم تست می کنم انشالله که جواب بده.
در ضمن این اسم متد خودمون رو بدون () وارد کنیم یا همون اسمش کافیه؟؟ همچنین متد هایی که پارامتر ندارن رو چطور ارسال کنم منظورم اینه که اون آرگومان دوم میتونه اختیاری باشه یا اینکه باید یک رشته خالی ارسال کنم!!!!

us1234
پنج شنبه 14 فروردین 1393, 21:22 عصر
ممنون که راهنمایی کردید الان دسترسی به وب سرویسم ندارم تست می کنم انشالله که جواب بده.
در ضمن این اسم متد خودمون رو بدون () وارد کنیم یا همون اسمش کافیه؟؟ همچنین متد هایی که پارامتر ندارن رو چطور ارسال کنم منظورم اینه که اون آرگومان دوم میتونه اختیاری باشه یا اینکه باید یک رشته خالی ارسال کنم!!!!

اسم متد بدون () وارد کنید . پارامتر اجباری نیست .
در soap اینجوری عمل می کنیم :


<?php
$client = new soapclient('pathOfWSDL');
$client->yourMethod(params);
?>

رامین مرادی
شنبه 23 فروردین 1393, 20:12 عصر
دوست عزیز من یه وب سرویس نوشته بودم با زبان asp.net اونم واسه اولین بار اگه تایپیک زیر رو بخونید متوجه میشید....
http://barnamenevis.org/showthread.php?433139-%D9%86%D8%AD%D9%88%D9%87-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D9%88%D8%A8-%D8%B3%D8%B1%D9%88%D9%8A%D8%B3-%D8%AF%D8%B1-%D9%84%D9%88%D9%83%D8%A7%D9%84-%D9%87%D8%A7%D8%B3%D8%AA

حالا اگه امکان داره اون روشی که توی پست بالا گفته شده رو برام بنویسید .... ورودی این وب سرویسمون یک کلمه انگلیسیه و خروجیمونم یک رشته معادل اون کلمه است برای مثال وقتی book وارد میکنید خروجی وب سرویس کتاب هست...