PDA

View Full Version : استفاده از وب سرویس



daffy_duck376
شنبه 19 اردیبهشت 1388, 23:55 عصر
یک شرکت اینترنتی سرویسی ارائه میدهد که به آن میتون sms را تحت وب ارسال کرد . این سرویس شامل چند command است که با انها SMS ها ارسال میشود مثل یه DLL ولی سرویس هست . حال من میخوام از ان سرویس در دلفی استفده کنم . تا حالا از کار ها هم نکرده ام . بلد هم نیستم . دوستان یه لطفی بکنن یه سره نخ به من بدن تا شاید بتونم این کار رو شروع کنم

vcldeveloper
یک شنبه 20 اردیبهشت 1388, 03:09 صبح
برای استفاده از وب سرویس:
1- یک پروژه جدید ایجاد می کنید، یا یکی از پروژه های موجود را باز می کنید.
2- از منوی File گزینه New را انتخاب می کنید، و از لیست موارد قابل انتخاب، گزینه WSDL Importer را انتخاب می کنید.
3- در ویزارد مربوطه، آدرس WSDL مربوط به وب سرویس مورد نظر را وارد می کنید، و مراحل ویزارد را طی می کنید.
4- با پایان یافتن ویزارد، یک فایل جدید به پروژه شما اضافه می شود. این فایل شامل تعریف کلاس هایی است که در داخل WSDL وجود داشتند.
5- در داخل فایل تابعی با نام GetWebServiceName وجود داره که بخش WebServiceName نام WebService هست، مثلا اگر نام وب سرویس PhoneService باشه، نام این تابع بصورت GetPhoneService خواهد بود. این تابع آدرس URL وب سرویس یا WSDL آن را از شما می گیرد، و یک شی ساخته شده از آن وب سرویس را برای شما برمیگرداند، که از طریق آن می توانید متدهای وب سرویس را فراخوانی کنید. مثلا:


PhoneServiceObj := GetPhoneService('http://myserver/wsdl','',nil);
PhoneServiceObj.SendSMS('0911234857','Test');

راه دیگه بجای استفاده از اون تابع که دلفی براتون ساخته، اینه که خودتون مستقیما یک شی از کلاس THTTPRIO ایجاد کنید، و مقادیر مربوطه را بهش بدید. در واقع کلاس THTTPRIO در دلفی کلاسی هست که ارتباط شما با وب سرویس شما را فراهم میکنه. اون تابعی هم که دلفی خودش براتون میسازه، از همین کلاس استفاده میکنه. درباره این کلاس و چگونگی استفاده ازش هم در راهنمای دلفی توضیح داده شده.

در کتاب های دلفی مثل Mastering Delphi هم درباره چگونگی استفاده از وب سرویس ها توضیح داده شده و مثال زده شده. در Demoهای دلفی هم چندین مثال در این مورد هست.