WSDL ट्यूटोरियल: वेब सेवाएँ Descriptआयन भाषा उदाहरण के साथ
डब्लूएसडीएल क्या है?
वेब सेवाएँ Descriptआयन भाषा (WSDL) एक XML-आधारित फ़ाइल है जो मूल रूप से क्लाइंट एप्लिकेशन को बताती है कि वेब सेवा क्या करती है। WSDL फ़ाइल का उपयोग संक्षेप में यह वर्णन करने के लिए किया जाता है कि वेब सेवा क्या करती है और क्लाइंट को वेब सेवा से कनेक्ट होने और वेब सेवा द्वारा प्रदान की गई सभी कार्यक्षमता का उपयोग करने के लिए आवश्यक सभी जानकारी प्रदान करती है।
इस ट्यूटोरियल में, हम अंतिम बिंदु पर ध्यान केंद्रित करने जा रहे हैं जो वेब सेवाओं का सबसे महत्वपूर्ण हिस्सा है, और वह है WSDL या वेब सेवा विवरण भाषा।
WSDL फ़ाइल का उपयोग संक्षेप में यह वर्णन करने के लिए किया जाता है कि वेब सेवा क्या करती है और यह क्लाइंट को वेब सेवा से कनेक्ट होने और वेब सेवा द्वारा प्रदान की गई सभी कार्यक्षमताओं का उपयोग करने के लिए आवश्यक सभी जानकारी प्रदान करती है।
WSDL दस्तावेज़ की संरचना
वेब सेवा का वर्णन करने के लिए WSDL दस्तावेज़ का उपयोग किया जाता है। यह विवरण आवश्यक है, ताकि क्लाइंट अनुप्रयोग यह समझ सकें कि वेब सेवा वास्तव में क्या करती है।
- WSDL फ़ाइल में वेब सेवा का स्थान और
- वेब सेवा द्वारा प्रदर्शित विधियाँ।
WSDL फ़ाइल स्वयं किसी भी उपयोगकर्ता को बहुत जटिल लग सकती है, लेकिन इसमें वह सभी आवश्यक जानकारी होती है जो किसी भी क्लाइंट एप्लिकेशन को प्रासंगिक वेब सेवा का उपयोग करने के लिए आवश्यक होती है।
नीचे WSDL फ़ाइल की सामान्य संरचना दी गई है
- परिभाषा
- Targetनाम स्थान
- डेटा के प्रकार
- संदेश
- पोर्टटाइप
- बाइंडिंग
- सेवा
यहाँ ध्यान देने वाली एक मुख्य बात यह है कि संदेशों की परिभाषा, जो कि संदेश भेजने वाले द्वारा दी जाती है, वह है संदेश की परिभाषा, जो कि संदेश भेजने वाले द्वारा दी जाती है। सोप प्रोटोकॉल वास्तव में WSDL दस्तावेज़ में परिभाषित किया गया है।
WSDL दस्तावेज़ वास्तव में क्लाइंट अनुप्रयोग को बताता है कि वेब सेवा द्वारा किस प्रकार के SOAP संदेश भेजे और स्वीकार किए जाते हैं।
दूसरे शब्दों में, WSDL एक पोस्टकार्ड की तरह है जिसमें किसी विशेष स्थान का पता होता है। पता उस व्यक्ति का विवरण प्रदान करता है जिसने पोस्टकार्ड वितरित किया। इसलिए, उसी तरह, WSDL फ़ाइल एक पोस्टकार्ड है, जिसमें उस वेब सेवा का पता होता है जो क्लाइंट को वह सभी कार्यक्षमता प्रदान कर सकती है जो वह चाहता है।
<!-- WSDL definition structure --> <definitions name="Guru99Service" targetNamespace=http://example.org/math/ xmlns=http://schemas.xmlsoap.org/wsdl/> <!-- abstract definitions --> <types> ... <message> ... <portType> ... <!-- concrete definitions --> <binding> ... <service> ... </definition>
नीचे WSDL फ़ाइल की संरचना का एक आरेख दिया गया है
WSDL तत्व
WSDL फ़ाइल में निम्नलिखित मुख्य भाग होते हैं
- RSI टैग का उपयोग सभी जटिल डेटाटाइप को परिभाषित करने के लिए किया जाता है, जिसका उपयोग क्लाइंट एप्लिकेशन और वेब सेवा के बीच आदान-प्रदान किए जाने वाले संदेश में किया जाएगा। यह क्लाइंट एप्लिकेशन का एक महत्वपूर्ण पहलू है, क्योंकि यदि वेब सेवा किसी जटिल डेटा प्रकार के साथ काम करती है, तो क्लाइंट एप्लिकेशन को पता होना चाहिए कि जटिल डेटा प्रकार को कैसे संसाधित किया जाए। फ्लोट, नंबर और स्ट्रिंग जैसे डेटा प्रकार सभी सरल डेटा प्रकार हैं, लेकिन संरचित डेटा प्रकार हो सकते हैं जो वेब सेवा द्वारा प्रदान किए जा सकते हैं।
उदाहरण के लिए, EmployeeDataType नामक एक डेटा प्रकार हो सकता है जिसमें स्ट्रिंग प्रकार के "EmployeeName" और संख्या या पूर्णांक प्रकार के "EmployeeID" नामक 2 तत्व हो सकते हैं। साथ में वे एक डेटा संरचना बनाते हैं जो फिर एक जटिल डेटा प्रकार बन जाता है। - RSI टैग का उपयोग क्लाइंट एप्लिकेशन और वेब सर्वर के बीच आदान-प्रदान किए जाने वाले संदेश को परिभाषित करने के लिए किया जाता है। ये संदेश इनपुट और आउटपुट संचालन की व्याख्या करेंगे जो वेब सेवा द्वारा किए जा सकते हैं। संदेश का एक उदाहरण एक संदेश हो सकता है जो किसी कर्मचारी की EmployeeID स्वीकार करता है, और आउटपुट संदेश प्रदान की गई EmpoyeeID के आधार पर कर्मचारी का नाम हो सकता है।
- RSI टैग का उपयोग प्रत्येक इनपुट और आउटपुट संदेश को एक तार्किक ऑपरेशन में समाहित करने के लिए किया जाता है। इसलिए "GetEmployee" नामक एक ऑपरेशन हो सकता है जो क्लाइंट एप्लिकेशन से EmployeeID स्वीकार करने और फिर EmployeeName को आउटपुट संदेश के रूप में भेजने के इनपुट संदेश को जोड़ता है।
- RSI टैग का उपयोग ऑपरेशन को विशेष पोर्ट प्रकार से बांधने के लिए किया जाता है। ऐसा इसलिए है कि जब क्लाइंट एप्लिकेशन संबंधित पोर्ट प्रकार को कॉल करता है, तो वह उन ऑपरेशनों तक पहुंच पाएगा जो इस पोर्ट प्रकार से बंधे हैं। पोर्ट प्रकार इंटरफ़ेस की तरह ही होते हैं। इसलिए यदि किसी क्लाइंट एप्लिकेशन को वेब सेवा का उपयोग करने की आवश्यकता होती है, तो उन्हें यह सुनिश्चित करने के लिए बाइंडिंग जानकारी का उपयोग करने की आवश्यकता होती है कि वे उस वेब सेवा द्वारा प्रदान किए गए इंटरफ़ेस से कनेक्ट हो सकें।
- RSI टैग वेब सेवा को दिया गया एक नाम है। प्रारंभ में, जब कोई क्लाइंट एप्लिकेशन वेब सेवा को कॉल करता है, तो वह वेब सेवा के नाम को कॉल करके ऐसा करेगा। उदाहरण के लिए, एक वेब सेवा इस तरह के पते पर स्थित हो सकती है http://localhost/Guru99/Tutorial.asmx . सेवा टैग में वास्तव में URL इस प्रकार परिभाषित होगा http://localhost/Guru99/Tutorial.asmx, जो वास्तव में क्लाइंट एप्लिकेशन को बताएगा कि इस स्थान पर एक वेब सेवा उपलब्ध है।
WSDL क्यों?
वेब सेवा आधुनिक समय के वेब अनुप्रयोगों के निर्माण में एक महत्वपूर्ण घटक है। उनका मुख्य उद्देश्य विभिन्न प्रोग्रामिंग भाषाओं पर निर्मित कई अनुप्रयोगों को एक दूसरे से बात करने की अनुमति देना है। उदाहरण के लिए, हम एक .Net वेब अनुप्रयोग को एक दूसरे से बात करने की अनुमति दे सकते हैं। Java वेब सेवा के माध्यम से आवेदन।
एक वेब सेवा में निम्नलिखित प्रमुख विशेषताएं होती हैं
- इसे XML प्रोग्रामिंग भाषा का उपयोग करके बनाया गया है। लगभग सभी आधुनिक तकनीकें जैसे .Net और Java XML के साथ काम करने की क्षमता रखने वाले संगत कमांड हैं। इसलिए, XML को वेब सेवाओं के निर्माण के लिए सबसे उपयुक्त भाषा के रूप में लिया गया।
- वेब सेवाएँ HTTP पर संचार करती हैं। HTTP एक प्रोटोकॉल है जिसका उपयोग सभी वेब-आधारित अनुप्रयोगों द्वारा किया जाता है। इसलिए, यह सुनिश्चित करना उचित था कि वेब सेवाओं में भी HTTP प्रोटोकॉल पर काम करने की क्षमता हो।
- वेब सेवाएँ एक विशेष भाषा विनिर्देश के अनुरूप होती हैं। यह विनिर्देश W3C द्वारा निर्धारित किया जाता है, जो सभी वेब मानकों के लिए नियामक निकाय है।
- वेब सेवाओं में एक वर्णन भाषा होती है जिसे WSDL के नाम से जाना जाता है, जिसका उपयोग वेब सेवा का वर्णन करने के लिए किया जाता है।
WSDL फ़ाइल सादे पुराने XML में लिखी जाती है। इसका XML में होना इसलिए ज़रूरी है ताकि फ़ाइल को किसी भी प्रोग्रामिंग भाषा में पढ़ा जा सके।
इसलिए यदि क्लाइंट एप्लीकेशन .Net में लिखा गया था, तो यह XML फ़ाइल को समझ लेगा। इसी तरह, यदि क्लाइंट एप्लीकेशन .Net में लिखा गया था, तो यह XML फ़ाइल को समझ लेगा। Java प्रोग्रामिंग भाषा में भी यह WSDL फ़ाइल की व्याख्या करने में सक्षम होगा।
WSDL फ़ाइल ही वह चीज़ है जो सब कुछ एक साथ बांधती है। ऊपर दिए गए आरेख से, आप देख सकते हैं कि आप .Net भाषा में एक वेब सेवा बना सकते हैं।
तो यहीं पर सेवा क्रियान्वित होती है। यदि आपके पास WSDL फ़ाइल नहीं है और आप चाहते हैं कि Java वेब सेवा का उपभोग करने के लिए क्लास का उपयोग करने के लिए, आपको इसे प्राप्त करने के लिए बहुत अधिक कोडिंग प्रयास की आवश्यकता होगी।
लेकिन अब WSDL फ़ाइल के साथ जो XML में है, जिसे किसी भी प्रोग्रामिंग भाषा द्वारा समझा जा सकता है, अब आप आसानी से कर सकते हैं Java क्लास .Net वेब सेवा का उपभोग करता है। इसलिए, कोडिंग प्रयास की मात्रा बहुत कम हो जाती है।
WSDL संदेश भाग
WSDL में "संदेश" नामक एक अनुभाग होता है जिसे द्वारा दर्शाया जाता है तत्व।
इस तत्व का उपयोग मूलतः वेब सेवा और क्लाइंट अनुप्रयोग के बीच आदान-प्रदान किये जाने वाले डेटा का वर्णन करने के लिए किया जाता है।
प्रत्येक वेब सेवा में हमेशा 2 प्रकार के संदेश होंगे,
- एक वेब सेवा के इनपुट के लिए है, और दूसरा वेब सेवा के आउटपुट के लिए है।
- इनपुट का उपयोग वेब सेवा द्वारा स्वीकार किए जाने वाले पैरामीटर का वर्णन करने के लिए किया जाता है। यह क्लाइंट एप्लिकेशन का एक महत्वपूर्ण पहलू है ताकि यह जान सके कि वेब सेवा को पैरामीटर के रूप में कौन से मान भेजे जाने हैं।
- संदेश का दूसरा प्रकार आउटपुट संदेश है जो बताता है कि वेब सेवा द्वारा क्या परिणाम प्रदान किये गए हैं।
प्रत्येक संदेश में, बदले में, एक होगा वह तत्व जिसका उपयोग इनपुट और आउटपुट संदेश द्वारा प्रयुक्त पैरामीटर का वर्णन करने के लिए किया जाता है।
नीचे एक सरल उदाहरण दिया गया है, कि वेब सेवा के लिए संदेश कैसा दिखता है। वेब सेवा की कार्यक्षमता एक "ट्यूटोरियल" का नाम प्रदान करना है, जब एक "ट्यूटोरियल आईडी" को वेब सेवा के लिए एक पैरामीटर के रूप में सबमिट किया जाता है।
- जैसा कि हम देख सकते हैं कि वेब सेवा में दो संदेश हैं, एक इनपुट के लिए और दूसरा आउटपुट के लिए।
- इनपुट संदेश को TutorialNameRequest के नाम से जाना जाता है, जिसमें TutorialID नामक एक पैरामीटर होता है। यह पैरामीटर number प्रकार का होता है जिसे xsd:number प्रकार द्वारा निर्दिष्ट किया जाता है
- आउटपुट संदेश को TutorialNameResponse के नाम से जाना जाता है, जिसमें एक पैरामीटर होता है जिसे TutorialName कहा जाता है। यह पैरामीटर स्ट्रिंग प्रकार का होता है जिसे xsd:string प्रकार द्वारा निर्दिष्ट किया जाता है
पोर्ट प्रकार बाइंडिंग
WSDL में पोर्ट्स का उपयोग वेब सेवा द्वारा प्रस्तुत एक सम्पूर्ण ऑपरेशन को परिभाषित करने के लिए किया जाता है।
पिछले विषय में, हमने देखा कि हमारी वेब सेवा ने 2 संदेश प्रदान किए, एक इनपुट के लिए जिसे "TutorialNameRequest" कहा जाता है और दूसरा आउटपुट के लिए जिसे "TutorialNameResponse" कहा जाता है। इनपुट और आउटपुट संदेश के रूप को एक साथ एक पूर्ण ऑपरेशन के रूप में जाना जाता है।
WSDL नामक एक तत्व प्रदान करता है जिसका उपयोग वेब सेवा द्वारा प्रदान किए गए कार्यों को परिभाषित करने के लिए किया जाता है।
अतः उपरोक्त उदाहरण में हम निम्नलिखित बातें नोट कर सकते हैं:
- पोर्ट प्रकार का नाम जो ऑपरेशन को समाहित करता है, "Tutorial_PortType" के रूप में दिया गया है।
- ऑपरेशन को खुद ही "ट्यूटोरियल" नाम दिया गया है। इसलिए हमारा ऑपरेशन मूल रूप से एक ट्यूटोरियलनाम प्रदान करता है यदि ट्यूटोरियलआईडी इनपुट पैरामीटर के रूप में दिया गया है।
- इसके बाद हमारे पास 2 संदेश हैं, एक इनपुट के लिए और दूसरा आउटपुट के लिए जो हमारा ऑपरेशन बनाता है
करने के लिए इसके अलावा में तत्व, वहाँ भी है तत्व जिसका उपयोग यह परिभाषित करने के लिए किया जाता है कि संदेश कैसे स्थानांतरित किए जाएंगे।
- उपरोक्त उदाहरण से पता चलता है कि बाइंडिंग में एक बाइंडिंग नाम शामिल है जिसे हमारे मामले में "TutorialSoapBinding" के रूप में दिया गया है। सरल शब्दों में बाइंडिंग वह जानकारी है जिसका उपयोग क्लाइंट एप्लिकेशन वास्तव में खुद को वेब सेवा से बांधने के लिए करता है। एक बार जब यह वास्तव में वेब सेवा से जुड़ जाता है, तो इसमें वेब सेवा द्वारा उजागर किए जाने वाले विभिन्न ऑपरेशनों को कॉल करने की क्षमता होती है।
- ट्रांसपोर्ट लेयर को http:// के रूप में दिया गया है, जिसका अर्थ है कि संदेश HTTP प्रोटोकॉल पर स्थानांतरित होंगे।
WSDL फ़ाइल बनाना
जब भी किसी प्रोग्रामिंग भाषा में वेब सेवा बनाई जाती है तो WSDL फ़ाइल बनाई जाती है।
चूंकि WSDL फ़ाइल को शुरू से तैयार करना काफी जटिल है, इसलिए सभी संपादक जैसे कि .Net के लिए Visual Studio और Eclipse एसटी Java स्वचालित रूप से WSDL फ़ाइल बनाएँ.
नीचे Visual Studio में बनाई गई WSDL फ़ाइल का एक उदाहरण दिया गया है।
<?xml version="1.0"?> <definitions name="Tutorial" targetNamespace=http://Guru99.com/Tutorial.wsdl xmlns:tns=http://Guru99.com/Tutorial.wsdl xmlns:xsd1=http://Guru99.com/Tutorial.xsd xmlns:soap=http://schemas.xmlsoap.org/wsdl/soap/ xmlns="http://schemas.xmlsoap.org/wsdl/"> <types> <schema targetNamespace=http://Guru99.com/Tutorial.xsd xmlns="http://www.w3.org/2000/10/XMLSchema"> <element name="TutorialNameRequest"> <complexType> <all> <element name="TutorialName" type="string"/> </all> </complexType> </element> <element name="TutorialIDRequest"> <complexType> <all> <element name="TutorialID" type="number"/> </all> </complexType> </element> </schema> </types> <message name="GetTutorialNameInput"> <part name="body" element="xsd1:TutorialIDRequest"/> </message> <message name="GetTutorialNameOutput"> <part name="body" element="xsd1:TutorialNameRequest"/> </message> <portType name="TutorialPortType"> <operation name="GetTutorialName"> <input message="tns:GetTutorialNameInput"/> <output message="tns:GetTutorialNameOutput"/> </operation> </portType> <binding name="TutorialSoapBinding" type="tns:TutorialPortType"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="GetTutorialName"> <soap:operation soapAction="http://Guru99.com/GetTutorialName"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> <service name="TutorialService"> <documentation>TutorialService</documentation> <port name="TutorialPort" binding="tns:TutorialSoapBinding"> <soap:address location="http://Guru99.com/Tutorial"/> </port> </service> </definitions>
उपरोक्त WSDL फ़ाइल किसी भी उपयोगकर्ता को बहुत डराने वाली लगती है, हम बाद के ट्यूटोरियल में विभिन्न भागों को विस्तार से कवर करेंगे, लेकिन अभी के लिए, आइए संक्षेप में देखें कि WSDL फ़ाइल का प्रत्येक भाग वास्तव में क्या करता है
वेब सेवा का उदाहरण प्रकाशित करना
अब आइए एक उदाहरण देखें कि हम कैसे एक वेब सेवा प्रकाशित कर सकते हैं और विजुअल स्टूडियो का उपयोग करके उसका उपयोग कर सकते हैं।
इस उदाहरण में, हम एक WebMethod के साथ एक वेब सेवा बनाएंगे। यह विधि “TutorialID” नामक एक पूर्णांक पैरामीटर स्वीकार करेगी। फिर वेब विधि “Web Services” नामक एक स्ट्रिंग लौटाएगी।
फिर हम एक कंसोल आधारित एप्लिकेशन बनाएंगे, जो इस वेब सेवा का उपयोग करेगा और तदनुसार हमारी वेब विधि को कॉल करेगा।
आइये इस उदाहरण को क्रियान्वित करने के लिए आवश्यक चरणों पर नजर डालें।
चरण 1) पहला कदम अपनी वेब सेवा बनाना है। एएसपी.नेट वेब प्रोजेक्ट और एक वेब सेवा बनाई गई है, इसकी व्याख्या की गई है यहाँ; कृपया प्रोजेक्ट और वेब सेवा बनाने के लिए समान चरणों का पालन करें। मुख्य भाग वेब सेवा फ़ाइल में नीचे दिए गए कोड को दर्ज करना है।
namespace webservic asmx { [WebService(Name = "Guru99 Web service")] public class TutorialService : System.Web.Services.WebService { [WebMethod] public string GetTutorialService(int TutoriallD) { string TutorialName = "Web Services"; return TutorialName; } } }
कोड स्पष्टीकरण:
- यहाँ हम "Guru99WebService" नामक एक WebMethod बना रहे हैं। इस वेब विधि में, हम एक पूर्णांक पैरामीटर शामिल कर रहे हैं जिसे इस वेब विधि को कॉल किए जाने पर पास करना होगा।
- इसके बाद हम “TutorialName” नामक एक वैरिएबल परिभाषित कर रहे हैं जो “Web Services” का स्ट्रिंग मान रखेगा। यह वह मान है जो वेब सेवा को कॉल किए जाने पर लौटाया जाएगा।
चरण 2) एक बार जब हमने वेब सेवा फ़ाइल को परिभाषित कर लिया, तो अगला चरण एक क्लाइंट प्रोजेक्ट बनाना है जो इस वेब सेवा का उपयोग करेगा।
आइए एक सरल कंसोल एप्लिकेशन बनाएं जो इस वेब सेवा को कॉल करेगा, “Guru99WebService” को इनवाइट करेगा और फिर कंसोल लॉग स्क्रीन में वेब विधि का आउटपुट प्रदर्शित करेगा। कंसोल एप्लिकेशन बनाने के लिए नीचे दिए गए चरणों का पालन करें।
Visual Studio समाधान फ़ाइल पर राइट-क्लिक करें और Add->New project विकल्प चुनें
स्टेप 3) इस चरण में,
- सबसे पहले विज़ुअल का चयन करना सुनिश्चित करें C# Windows फिर कंसोल एप्लिकेशन बनाने का विकल्प चुनें।
- अपने प्रोजेक्ट के लिए एक नाम दें जो हमारे मामले में "डेमोएप्लिकेशन" दिया गया है।
उपरोक्त स्क्रीन में ओके बटन पर क्लिक करने के बाद, आप विजुअल स्टूडियो में सॉल्यूशन एक्सप्लोरर में प्रोजेक्ट देख पाएंगे।
चरण 4) इस चरण में, आप डेमोएप्लिकेशन कंसोल एप्लीकेशन को स्टार्टअप प्रोजेक्ट के रूप में सेट करेंगे। ऐसा यह सुनिश्चित करने के लिए किया जाता है कि जब पूरा विज़ुअल स्टूडियो प्रोजेक्ट चलाया जाता है तो यह एप्लीकेशन सबसे पहले लॉन्च होता है। यह कंसोल एप्लीकेशन, बदले में, वेब सेवा को कॉल करेगा जो विज़ुअल स्टूडियो द्वारा स्वचालित रूप से लॉन्च हो जाएगी।
इस चरण को पूरा करने के लिए, डेमोएप्लिकेशन प्रोजेक्ट पर राइट-क्लिक करें और “स्टार्टअप प्रोजेक्ट के रूप में सेट करें” विकल्प चुनें।
चरण 5) अगला चरण हमारे कंसोल एप्लिकेशन में हमारे "Guru99Webservice" का सेवा संदर्भ जोड़ना है। ऐसा इसलिए किया जाता है ताकि डेमो एप्लिकेशन वेब सेवा और वेब सेवा में सभी वेब विधियों को संदर्भित कर सके।
ऐसा करने के लिए, DemoApplication प्रोजेक्ट फ़ाइल पर राइट-क्लिक करें और मेनू विकल्प Add->Service Reference चुनें।
चरण 6) इस चरण में, हम विभिन्न मान प्रदान करेंगे जो हमारे सेवा संदर्भ को जोड़ने के लिए आवश्यक हैं
- सबसे पहले हमें अपना डिस्कवर विकल्प चुनना होगा। यह विकल्प स्वचालित रूप से हमारी ट्यूटोरियल सर्विस वेब सेवा के लिए WSDL फ़ाइल को चुन लेगा।
- इसके बाद, हमें अपनी सेवा संदर्भ के लिए एक नाम देना चाहिए। हमारे मामले में, हम इसे Guru99Webservice नाम दे रहे हैं।
- फिर हमें TutorialService.asmx विकल्प का विस्तार करने की आवश्यकता है ताकि हम दाईं ओर 'GetTutorialService' विधि को देखने में सक्षम हो सकें। यहाँ TutorialService.asmx हमारी Visual Studio .Net फ़ाइल का नाम है जिसमें हमारी वेब सेवा के लिए कोड शामिल है।
- फिर हम अपनी वेब विधि देखेंगे जो हमारी वेब सेवा में थी जिसे “GetTutorialService” के नाम से जाना जाता है
जब हम 'ओके' बटन पर क्लिक करेंगे, तो इस वेब सेवा तक पहुंचने के लिए सभी आवश्यक कोड हमारे डेमोएप्लीकेशन कंसोल एप्लिकेशन में जोड़ दिए जाएंगे, जैसा कि नीचे दिखाया गया है।
स्क्रीनशॉट से पता चलता है कि “Guru99Webservice” को हमारे कंसोल एप्लिकेशन में सफलतापूर्वक जोड़ दिया गया है।
चरण 7) अगला चरण हमारे कंसोल एप्लीकेशन में कोड जोड़ना है ताकि हमारी वेब सेवा में वेब विधि तक पहुँचा जा सके। Program.cs कोड फ़ाइल खोलें जो कंसोल एप्लीकेशन के साथ स्वचालित रूप से आती है और नीचे दिया गया कोड जोड़ें
namespace DemoApplication { class Program { static void Main(string[ ] args) { var client = new Guru99Webservice.Guru99WebserviceSoapClient(); Console.WriteLine(client.GetTutorialService(l)); Console.ReadKey(); } } }
कोड स्पष्टीकरण:-
- पहला भाग Program.cs फ़ाइल चुनना है। यह मुख्य फ़ाइल है जो कंसोल एप्लिकेशन बनाते समय Visual Studio द्वारा बनाई जाती है। यह फ़ाइल तब निष्पादित होती है जब कंसोल एप्लिकेशन (हमारे मामले में डेमो एप्लिकेशन) निष्पादित होता है।
- फिर हम “client” नामक एक वैरिएबल बनाते हैं जिसे हमारे सर्विस रेफरेंस के इंस्टेंस पर सेट किया जाएगा जिसे पहले चरण में बनाया गया था। हमारे मामले में, सर्विस रेफरेंस 'Guru99Webservice.Guru99WebserviveSoapClient()' है
- फिर हम TutorialService वेब सेवा में अपनी वेब विधि 'GetTutorialService' को कॉल कर रहे हैं। याद रखें कि हमारी 'GetTutorialService' विधि एक पूर्णांक पैरामीटर को स्वीकार करती है, इसलिए हम वेब विधि में केवल एक पूर्णांक पैरामीटर ही पास कर रहे हैं।
- यह अंतिम पंक्ति केवल यह सुनिश्चित करने के लिए है कि कंसोल लॉग स्क्रीन सक्रिय रहे ताकि हम आउटपुट देख सकें। यह कमांड केवल उपयोगकर्ता से कुछ इनपुट की प्रतीक्षा करेगा।
उत्पादन
जब उपरोक्त सभी चरणों का पालन किया जाता है, और डेमो एप्लिकेशन चलाया जाता है तो नीचे दिया गया आउटपुट प्रदर्शित होगा।
आउटपुट से, हम स्पष्ट रूप से देख सकते हैं कि DemoApplication हमारी वेब सेवा को कॉल करता है और वेब सेवा द्वारा लौटाई गई स्ट्रिंग हमारे कंसोल लॉग में प्रदर्शित होती है।
सारांश
- WSDL का पूर्ण रूप वेब सर्विसेज़ है Descriptआयन भाषा
- WSDL दस्तावेज़ एक ऐसा दस्तावेज़ है जिसका उपयोग वेब सेवा का वर्णन करने के लिए किया जाता है। यह किसी भी क्लाइंट एप्लिकेशन के लिए यह जानना महत्वपूर्ण है कि वेब सेवा कहाँ स्थित है। यह क्लाइंट एप्लिकेशन को वेब सेवा में उपलब्ध विधियों को समझने की भी अनुमति देता है।
- WSDL फ़ाइल वेब सेवा को एक प्रोग्रामिंग भाषा में क्रियान्वित करना तथा किसी भिन्न प्रोग्रामिंग भाषा से कॉल करना बहुत आसान बनाती है।
- WSDL दस्तावेज़ में आम तौर पर एक संदेश होता है। प्रत्येक वेब विधि के लिए, 2 संदेश होते हैं, एक इनपुट के लिए होता है, और दूसरा आउटपुट के लिए होता है। साथ में वे एक ऑपरेशन बनाते हैं।
- वेब सेवाएँ Descriptआयन भाषा (WSDL के लिए खड़ा है) फ़ाइलें सामान्य रूप से संपादक में बनाई जाती हैं जो संबंधित प्रोग्रामिंग भाषा के लिए उपयोग की जाती हैं।
- हमने देखा है कि हम Visual Studio में वेब सेवा का उपयोग कैसे कर सकते हैं। यह एक अन्य प्रोजेक्ट बनाकर किया जा सकता है जो एक कंसोल एप्लीकेशन है। फिर एक सेवा संदर्भ जोड़कर, हम अपनी वेब सेवा में वेब विधियों तक पहुँचने में सक्षम होते हैं।