با سلام
wsdl.exe چیست و چگونه می شود از آن برای استفاده از وب سرویسها ، بهره گرفت؟
از پسوند این فایل اینگونه به نظر می رسه که باید یک فایل اجرایی باشد. این فایل کجاست و چگونه می شود از ان استفاده کرد؟
ممنون
با سلام
wsdl.exe چیست و چگونه می شود از آن برای استفاده از وب سرویسها ، بهره گرفت؟
از پسوند این فایل اینگونه به نظر می رسه که باید یک فایل اجرایی باشد. این فایل کجاست و چگونه می شود از ان استفاده کرد؟
ممنون
با سلام
مقاله ای میخواستم راجع به کاربرد سرویس های وب در تجارت الکترونیک
دوستان کاش کسی هم به این تاپیک بره و سوال آخر من را جواب بده!
https://barnamenevis.org/showthread.php?t=134374
در ادامه بحث مقدماتی که درباره سرویس های وب داشتم در این پست به سراغ WSDL می رویم .
یکی از سوالاتی که در پست قبلی مطرح کردم این بود که چگونه می توان برای استفاده از یک سرویس از چگونگی کنش و واکنش های آن آگاهی پیدا کرد؟؟
به عبارتی دیگر زمانی که شما می خواهید متد خاصی را فراخوانی کنید باید بدانید چه پارامترهایی از چه نوعی دریافت می کند و همچنین مقدار برگشتی اش چه می باشد؟ و یا شاید اصلا بخواهید توضیحاتی در مورد اینکه یک متد چکار خاصی را برای شما انجام میدهد را بدانید و ... راه چاره WSDL است.
WSDL(web service description language) همان طور که از نامش پیداست زبان و استانداردی برای تشریح یک سرویس است.
@ این زبان با فرمت XML است و برای تشریح یک وب سرویس که چگونه فراخوانی می شود و چه پارامترهایی می گیرد، استفاده می شود. WSDL از پنج قسمت به شرح زیر تشکیل شده است :
1) بخش <types> : در این بخش تمام گونه های داده ای که توسط سرویس مورد استفاده قرار می گیرد، تعریف می شود.
2) بخش <message>: پارامترهای ورودی و خروجی سرویس در این بخش تعریف می شوند.
3) بخش<portType>: روشهای دسترسی به پیغامهایی که در بخش پیش تعریف شده اند در این بخش قرار می گیرند. [این تگ از مهترین اجزا WSDL میباشد. در واقع این تگ نقش دروازه ورود به یک سرویس را بازی میکند.همان طور که شاید تا به حال حدس زده باشید در سرویس ها ما چیزی شبیه تابع Main در برنامه های قدیمی نداریم.در واقع این تگ برای ما تقریبا همان نقش را بازی میکند، یعنی به ما میگوید که از کجا شروع کنیم]
4) بخش<bindings>: پروتکلهایی که مورد استفاده قرار می گیرد (HTTP GET, HTTP POST, SOAP) در این بخش قرار می گیرد.
5) بخش<service> : تمام بخشهای ذکر شده تا اینجا، در این قسمت به هم متصل می شوند.
( از@ تا اینجا از نوشته های مجید اطلس باف نیز بهره گرفته ام- قابل توجه کسانی که اخلاق علمی را رعایت نمی کنند!!)
ترجیح میدهم به جای تعاریف قلمبه سلمبه(!) که معمولا ما برنامه نویسان از آن متنفریم ، برویم به سراغ یک مثال سادهاز سایت آموزشی W3C در آدرس http://www.w3schools.com/webservices/tempconvert.asmx
در این مثال ما یک کلاس با کد زیر داریم :<%@ WebService Language="VBScript" Class="TempConvert" %>
Imports System
Imports System.Web.Services
Public Class TempConvert :Inherits WebService
<WebMethod()> Public Function FahrenheitToCelsius
(ByVal Fahrenheit As String) As String
dim fahr
fahr=trim(replace(Fahrenheit,",","."))
if fahr="" or IsNumeric(fahr)=false then return "Error"
return ((((fahr) - 32) / 9) * 5)
end function
<WebMethod()> Public Function CelsiusToFahrenheit
(ByVal Celsius As String) As String
dim cel
cel=trim(replace(Celsius,",","."))
if cel="" or IsNumeric(cel)=false then return "Error"
return ((((cel) * 9) / 5) + 32)
end function
end classفعلا نیازی به تفسیر کد بالا نیست پس خودتان را زیاد درگیر درک آن نکنید (در پست های آینده به تفسیر در مورد کد نویسی webservice بحث خواهم کرد) فقط در همین حد بدانید که این کلاس دو متد دارد برای تبدیل فارنهایت به سلسیوس و بلعکس.
در آدرس زیر می توانید این دو تابع را تست کنید و لذت ببرید!
http://www.w3schools.com/webservices/tempconvert.asmx
حال به سراغ بحث خودمان پیرامون WSDL برمیگردیم ، اگر شما سری به آدرس زیر بزنید میتوانید WSDL مربوط به کلاس بالا را مشاهده کنید:
http://www.w3schools.com/webservices/tempconvert.asmx?wsdl
جالب بود نه؟!!<s:element name="FahrenheitToCelsius">
<s:complexType>
<s:sequence>
@
<s:element minOccurs="0" maxOccurs="1" name="Fahrenheit" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
@@
<s:element name="FahrenheitToCelsiusResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="FahrenheitToCelsiusResult" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
احتمالا در همین برخورد اول شما خودتان به رابطه های بسیاری برخوردید و شاید متوجه شده اید که WSDL چگونه می تواند با تگ های خود ویژگی های یک متد را ار قبیل تعداد و نوع پارامتر های ورودی ،نوع برگشتی تابع، توضیحات اضافی هر تابع و ... را شرح دهد.
در خط @ به بعد شما پارامتر ورودی تابع را ملاحظه میفرمائید که نامش Fahrenheitاست و نوع آن نیز String می باشد.
در خط @@ به بعد WSDL شرح مقدار برگشتی متد FahrenheitToCelsiusرا به ما می دهد که ناگفته پیداست که مقدار برگشتی متد(تابع) از نوع String می باشد.
در شکل بالا می توانید نمای کلی فرایند یک WSDL را ببینید و با چگونگی عملکرد کلی آشناتر شوید.
برای اطلاعات بیشتر میتوانید ار لینک زیر استفاده کنید
با تشکر
میثم نوایی
http://www.xamfia.com/
www.persianwebservice.com
بالاخره مقاله وب سرویس آماده شد.
در این مقاله سرویس وب را با Jbuilder می سازیم
در Tomcat مستقر میکنیم
و با یک برنامه کاربر فراخوانی میکنیم
همچنین نحوه اجرای Tomcat و ActiveBPEL را نیز آموزش داده ام.
در ضمن برای کسانی هم که تازه شروع کرده اند و چیزی در مورد سرویس های وب و معماری سرویس گرا نمی دانند توضیحات مقدماتی و کافی داده ام.
تقدیم به جاواکارهای اخمو
http://rs674.rapidshare.com/files/21...WebService.pdf
www.xamfia.com/files/webservice.pdf
در ضمن بزودی فایل های برنامه را نیز منتشر میکنم.
همچنین اگر وقت کنم سعی میکنم بخشی را نیز برای کاربران NetBeans منتشر کنم.
سپاسگزارم
سلام
باتشکر از مطالبی که فرستادین
یه سوال داشتم.من یه وب سرویس دارم که یه dll بهش اضافه کردم.dll شامل تعداد زیادی متد هست حالا می خوام از تو یه برنامه متد های dll رو با استفاده از وب سرویس صدا بزنم.غیر از اینکه برای هر متد dll یه متد تو وب سرویس بنویسم(آخه تعداد متد ها زیاده) راه دیگه ای هم هست؟
سلام من یک مقاله کامل در مورد وب سرویسها و کاربرد آنها همینطور امنیت و ورک فلوی آنها می خواهم فایل word باشه ممنون میشم فوری است
mofid bud mamnun
سلام
از مطالبتون خیلی متشکرم
لطفا در مورد Publish یک وب سرویس دات نت در IIS و با داشتن یک IP static توضیح بدین
قربونت :)
دوستان سلام
من یک مشکلی با وب سرویس دارم لطفا کمکم کنید البته نمیدونم این تاپیک هنوز جوابی داره یا نه
من یک وب سرویس دارم که حجم زیادی از دیتا رو در قالب یک استرینگ برمیگردونه و قاعدتا وقت زیادی هم میگیره هنگام طراحی و تست مشکلی نداره ولی وقتی پابلیش میکنم کار نمیکنه البته این وب سرویس چند تا فانکشن داره که بقیه کوتاه تره کار میکنه من توی web.config مفدار <httpRuntimeexecutionTimeout="1200"/> رو هم زیاد کردم اما فایده ای نداشت نمیدونم چرا اینجوریه من فکر میکنم از تایم اوتش باشه گرچه خطای تایم اوت نمیگیره و Internet Explorer cannot display the webpage میده حالا باید کجا تغییرش بدم (البته میخوام ترجیحا طرف سرور باشه) لطفا کمکم کنید
سلام.
شاید Timeout از سمت Client Proxy رخ میده. در واقع میخوام بگم Client برای مدت مشخصی منتظر دریافت پاسخ میمونه و اگر در اون مدت پاسخی دریافت نکرد، ارتباط رو قطع میکنه (اگرچه سرور تو اون لحظه داره هنوز کار خودش رو انجام میده).
توی .NET کلاسهای Proxy ای که برای Web Service ایجاد میشن یه Property ی Timeout دارن که با Set کردنش میشه این مشکل رو رفع کرد (من نمیدونم شما از چه تکنولوژی ای استفاده میکنید، اما از روی httpRuntime ای که بالا ذکر کردید حدس میزنم که .NET باشه). اگر دقیقتر بخوام بگم، کلاس WebClientProtocol که Client Proxy شما ازش Derive میشه، حاوی اون Timeout Property هستش. اگر درست بخاطرم مونده باشه، مقدار پیش فرضش 100,000 میلی ثانیه هستش.
موفق باشید.
با تشکر از جنابعالی
بله من از دات نت 2 برای برنامه نویسی استفاده کرده ام و حالا میخوام از این وب سرویس برای صفحات asp کلاسیک استفاده کنم و الان موقعی که از آدرس http://.../service.asmx داخل بروزر وارد میکنم و دکمه Invoke رو برای تست میزنم یه کمی معطل میکنه و چیزی رو بر نمی گردونه در صورتیکه کلیه مشخصات wsdl رو نمایش میده و درست هم هست البته من تقریبا مطمئن هستم که مشکل از زمان تایم اوت اون هست اما سئوال اینه که آیا میشه تغییری طرف سرور داد که مشکل حل بشه یا نه واگر جواب منفی هست طرف کلاینت برای asp کلاسیک باید چکار کنم تا این زمان تایم اوت رو تنظیم کنم آیا باید همون فایل dll حاوی کلاس httpsoapclient رو با wsdl بسازم و اگر بسازم چطوری توی asp ازش استفاده کنم؟؟
سلام.
قاعدتا این مساله به سرور برنمیگرده، چون مشکل با executionTimeout رفع نشده. در مورد سوال دوم هم، در حال حاضر به چه شکلی از اون Web Service در Classic ASP ی خودتون استفاده می کنید؟ SOAP Client، XMLHttp Rquest یا ..؟ لطفا قدری توضیح بدید...
موفق باشید.
- آخه من لوکال تست میکنم مشکلی ندارم و حتی موقعی که توی VS2008 برنامه رو اجرا میکنم و اگر از اکسپلورر آدرس وب سرور داخلی اونو بزنم کارمیکنه (http://localhost:port/service/webservice.asmx) مشکلی نداره و کار میکنه اما اگه پابلیش کنم حتی توی iis همون کامپیوتری که الان تست کردم کارنمیکنه واقعا کلافه شدم
- من الان توی وی بی دات نت 2 دارم استفاده میکنم و تا حالا ازش توی ای اس پی کلاسیک استفاده نکردم
سلام
میشه لطفا" درباره تست وب سرویس اطلاعاتی بدید
سلام و تشکر از راهنمایی هاتون
ممکنه در مورد اعتبار سنجی . حق دسترسی کاربر در Webservice هم مثال بزنید؟
یعنی برای هر تابعی که بخوام اجرا کنم باید نام کاربر و کلمه عبور رو هم به عنوان پارامتر به تابع ارسال کنم؟برای اینکار شما میتونید کلاسی که در وب سرویس تعریف کردید رو در قسمت سازنده و یا در یک متد نام کاربری و رمز عبور رو بفرستید درصورتی که در پایگاه داده وچود داشت عملیات بازگردانی انجام شود و در غیر این صورت Null برگردونید.
روش دیگه وجو نداره؟ مثلا مثل سایت اگه کسی Login کرد سایت اون رو از طریق Session یا کوکی ... می شناسه و اعتبار سنجی کاربر در ادامه به صورت ضمنی انجام میشه نه مستقیم؟ برای Webservise هم همچین امکانی هست؟
برای استفاده از سشن در وب سرویس:
http://msdn.microsoft.com/en-us/library/aa480509.aspx
http://www.codeproject.com/articles/...b-Service.aspx
سلام دوستان من می خوام با سی شارب یه برنامه بنویسم که بره به یه هاست cpanel و به دیتابیسش که از نوع mysql هست وصل بشه . توی سیستمم با نصب نرم افزار wamp server که پایگاه mysql رو داره و با اضافه کردن mysql connector به reffrence برنامم داخل سی شارپ تونستم وصل بشم و تبادل اطلاعات با پایگاه دادم داشته باشم اما به پایگاه داده ای که داخل هاست هست نمی تونم وصل بشم . آی پی سایت رو دادم،آی پی خودمو هم داخل سایت توی قسمت دسترسی به ریموت اکسسش دادم اما نشد که نشد
بسیار عالی بود میشه کمی در مورد وب سرویسهای ارایه شده به زبان phpتوضیح بدید که در دات نت به جه صورت می توان استفاده کرد مخصوصا در سایتهای فروش
عالی بود بازهم اگه اطلاعات کاملتری و یا پاورپوینتی در این زمینه دارید میشه محبت نمائید
ممنون از لطفتون
سلام با کلیک برروی
web services on the local machine
این خطا رو میده
There was an error while enumerating services on local machine:
Active Directory Services cannot find the web server. A possible cause for this is an incompatibility between versions of Internet Information Server (IIS) on the client and the server. Another possible cause is that IIS is not installed on the local machine, or the user identity under which you are running may not have permissions to view websites on this machine. To view websites on this machine, make sure that you run Visual Studio as administrator. On Windows Vista computers with IIS installed, make sure that IIS Metabase and IIS 6 configuration compatibility feature is enabled.
برای رفع این خطا باید چکار کنم
سلام دوست من
من از این وب سرویس قصد دارم استفاده کنم از متد sendsms استفاده کردم ولی متد get message نتونستم ازش خروجی بگیرم یعنی نتونستم بفهمم مقدارش را چطور بر می گردونه و به کجا بر می گردونه
دوستان اگه لطف کنید ن راهنمایی کنید ممنو می شوم
لینک وب سرویس : p.sms.ir/post/send.asmx
دوستان فقط زاهنمایی کنند این متد چگونه و به کجا مقدارش را بر می گردونه ممنون می شم
باتشکر
سلام
ممنون از اطلاعات خوبی که در اختیار قرار دادید
من یک پروژه وب سرویسی ساده نوشتم مثلا تبدیل تاریخ شمسی به قمری و میخوام با یک برنامه تحت ویندوز تستش کنم. زمانی که میخوام add reference کنم چیزی بنام Add web reference نداره و add service reference داره که وقتی add کردم زمانیکه میخوام از وب سرویسم instance بگیرم و استفاده کنم، قبول نمیکنه و میگه:
cannot create an instance of the abstract class or interface "TestDate.localhost.service1soap
" که اسم namespaceی که موقع add service میخواد رو localhost گذاشتم. TestDate هم اسم پروژه ویندوزیم هست.
ممنون میشم راهنمایی کنید.
سلام به دوستان من تازه شروع به کار وب سرویس کردم و نتونستم چیز زیادی از بحث های شما رو متوجه بشم من یک وب سرویس http://www.ignyte.com/webservices/ig...functions.asmx رو دارم اگر میشه یک مثال عملی با این بنویسید و روی سایت قرار بدبد که ما هم از رو اون متوجه بشیم ممنون میشم حالا هر متدی رو که تونستید فراخوانی کنید که توی سایت با اون عملا اجرا بشه ممنونم میشم
با تشکر از شما
سلام
شما ساخت وب سرویس با زبان php وwsdlوsoap ؟؟؟
ای کاش همچین تاپیکی برای راه اندازی وبسرویس با php ایجاد میشد
سلام دوستان
من می خوام پایان نامه ی ارشدمو تو این زمینه کار کنم کسی هست که یه شاخه ی جدیدیو تو زمینه وب سرویس بهم پیشنهاد کنه. ممنون میشم کسی کمک کنه/
سلام
میشه یه کدی اجرا بشه بدون این که لازم باشه کسی به سایت مراجعه کنه؟ می خوام بدونم با وب سرویس باید کار کنم؟
واضح تر توضیح می دهم.
مثلا سر ساعت 5 یک داده از یه جایی خونده بشه و وارد دیتابیس بشه، بدون این که لازم باشه حتی یک نفر وارد سایت بشه. فرض کنید بازدید سایت صفر هست!
ممنون
من یه نمونه پروژه وب سرویس دارم میخوام اینو تو پروژه خودم استفاده کنم ولی نمیدونم چطور وب سرویس موجود در اون را به پروژه خودم اضافه کنم. چون در حالت عادی یه شکل دیگه میاد