WSDL क्या है? अर्थ और उदाहरण

⚡ स्मार्ट सारांश

WSDL (वेब ​​सेवाएँ Descriptवेब लैंग्वेज (WSDL) एक XML-आधारित फ़ाइल है जो क्लाइंट एप्लिकेशन को बताती है कि वेब सेवा क्या करती है और उसे कैसे कॉल किया जाता है। यह संसाधन WSDL की संरचना, तत्वों, संदेशों, पोर्ट प्रकारों, बाइंडिंग और प्रकाशन के एक उदाहरण की व्याख्या करता है।

  • 📄 मूल परिभाषा: WSDL एक XML फ़ाइल है जो किसी वेब सेवा के स्थान, संचालन और उसके द्वारा स्वीकार किए जाने वाले और लौटाए जाने वाले संदेशों का वर्णन करती है।
  • 🏗️ दस्तावेज़ संरचना: एक WSDL दस्तावेज़ को परिभाषाओं के मूल में लिपटे प्रकारों, संदेश, पोर्टटाइप, बाइंडिंग और सेवा तत्वों में व्यवस्थित किया जाता है।
  • 🔤 महत्वपूर्ण तत्व: types तत्व डेटा प्रकारों को परिभाषित करता है, message आदान-प्रदान किए गए डेटा को परिभाषित करता है, portType संचालन को समूहित करता है, और binding उन्हें एक प्रोटोकॉल से मैप करता है।
  • ✉️ संदेश और पोर्ट: प्रत्येक वेब विधि एक इनपुट और एक आउटपुट संदेश का उपयोग करती है जो मिलकर एक ऑपरेशन बनाते हैं जिसे पोर्ट प्रकार के माध्यम से प्रदर्शित किया जाता है।
  • ️ स्वतः उत्पन्न: विजुअल स्टूडियो जैसे संपादक और Eclipse यह स्वचालित रूप से WSDL फ़ाइल उत्पन्न करता है, जिसका उपयोग क्लाइंट एप्लिकेशन सेवा को कॉल करने के लिए करते हैं।

WSDL क्या है?

डब्लूएसडीएल क्या है?

वेब सेवाएँ Descriptआयन भाषा (WSDL) एक XML-आधारित फ़ाइल है जो मूल रूप से क्लाइंट एप्लिकेशन को बताती है कि वेब सेवा क्या करती है। WSDL फ़ाइल का उपयोग संक्षेप में यह वर्णन करने के लिए किया जाता है कि वेब सेवा क्या करती है और क्लाइंट को वेब सेवा से कनेक्ट होने और वेब सेवा द्वारा प्रदान की गई सभी कार्यक्षमता का उपयोग करने के लिए आवश्यक सभी जानकारी प्रदान करती है।

इस ट्यूटोरियल में, हम वेब सेवाओं के सबसे महत्वपूर्ण भाग, यानी WSDL, या वेब सेवाओं पर ध्यान केंद्रित करेंगे। Descriptआयन भाषा। यह एक संपर्क सूत्र के रूप में कार्य करता है।tracवेब सेवा और उसका उपयोग करने वाले किसी भी क्लाइंट के बीच का संबंध।

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 की संरचना

WSDL तत्व

WSDL फ़ाइल में निम्नलिखित मुख्य भाग होते हैं:

  1. RSI टैग का उपयोग उन सभी जटिल डेटा प्रकारों को परिभाषित करने के लिए किया जाता है जिनका उपयोग क्लाइंट एप्लिकेशन और वेब सेवा के बीच आदान-प्रदान किए जाने वाले संदेश में किया जाएगा। यह महत्वपूर्ण है क्योंकि यदि वेब सेवा किसी जटिल डेटा प्रकार के साथ काम करती है, तो क्लाइंट एप्लिकेशन को यह जानना चाहिए कि उसे कैसे संसाधित किया जाए। फ्लोट, संख्याएँ और स्ट्रिंग जैसे डेटा प्रकार सरल डेटा प्रकार हैं, लेकिन वेब सेवा द्वारा संरचित डेटा प्रकार भी प्रदान किए जा सकते हैं। उदाहरण के लिए, EmployeeDataType नामक एक डेटा प्रकार हो सकता है जिसमें दो तत्व हो सकते हैं: "EmployeeName" (स्ट्रिंग प्रकार का) और "EmployeeID" (संख्या या पूर्णांक प्रकार का)। ये मिलकर एक जटिल डेटा प्रकार बनाते हैं।
  2. RSI टैग का उपयोग क्लाइंट एप्लिकेशन और वेब सर्वर के बीच आदान-प्रदान होने वाले संदेश को परिभाषित करने के लिए किया जाता है। ये संदेश वेब सेवा द्वारा किए जा सकने वाले इनपुट और आउटपुट कार्यों को स्पष्ट करते हैं। एक उदाहरण के तौर पर, यह संदेश किसी कर्मचारी की एम्प्लॉई आईडी स्वीकार करता है, और आउटपुट संदेश दी गई एम्प्लॉई आईडी के आधार पर कर्मचारी का नाम हो सकता है।
  3. RSI टैग का उपयोग प्रत्येक इनपुट और आउटपुट संदेश को एक तार्किक ऑपरेशन में समाहित करने के लिए किया जाता है। इसलिए "GetEmployee" नामक एक ऑपरेशन हो सकता है जो क्लाइंट एप्लिकेशन से EmployeeID स्वीकार करने और फिर EmployeeName को आउटपुट संदेश के रूप में भेजने के इनपुट संदेश को जोड़ता है।
  4. RSI टैग का उपयोग किसी ऑपरेशन को एक विशिष्ट पोर्ट प्रकार से जोड़ने के लिए किया जाता है। ऐसा इसलिए किया जाता है ताकि जब क्लाइंट एप्लिकेशन संबंधित पोर्ट प्रकार को कॉल करे, तो वह उससे जुड़े ऑपरेशनों तक पहुंच सके। पोर्ट प्रकार इंटरफेस की तरह ही होते हैं। इसलिए, यदि किसी क्लाइंट एप्लिकेशन को वेब सेवा का उपयोग करना है, तो उन्हें बाइंडिंग जानकारी का उपयोग यह सुनिश्चित करने के लिए करना होगा कि वे उस वेब सेवा द्वारा प्रदान किए गए इंटरफेस से कनेक्ट हो सकें।
  5. RSI टैग वेब सेवा को दिया गया नाम है। प्रारंभ में, जब कोई क्लाइंट एप्लिकेशन वेब सेवा को कॉल करता है, तो वह वेब सेवा के नाम का उपयोग करके ऐसा करता है। उदाहरण के लिए, एक वेब सेवा http://localhost/ जैसे पते पर स्थित हो सकती है।Guru99/Tutorial.asmx. सर्विस टैग में यह होगा URL यह परिभाषित करता है, जो क्लाइंट एप्लिकेशन को बताता है कि इस स्थान पर एक वेब सेवा उपलब्ध है।

WSDL क्यों?

आधुनिक वेब अनुप्रयोगों के निर्माण में वेब सेवा एक महत्वपूर्ण घटक है। इनका मुख्य उद्देश्य विभिन्न प्रोग्रामिंग भाषाओं में निर्मित कई अनुप्रयोगों को आपस में संवाद करने में सक्षम बनाना है। उदाहरण के लिए, हम एक .Net वेब एप्लिकेशन को दूसरे .Net वेब एप्लिकेशन से संवाद करा सकते हैं। Java वेब सेवा के माध्यम से आवेदन।

एक वेब सेवा की निम्नलिखित प्रमुख विशेषताएं होती हैं:

  • इसे XML प्रोग्रामिंग भाषा का उपयोग करके बनाया गया है। लगभग सभी आधुनिक प्रौद्योगिकियां जैसे .Net और Java XML के साथ काम करने की क्षमता रखने वाले संगत कमांड हैं। इसलिए, XML को वेब सेवाओं के निर्माण के लिए सबसे उपयुक्त भाषा के रूप में लिया गया।
  • वेब सेवाएं HTTP पर संचार करती हैं। HTTP एक प्रोटोकॉल है जिसका उपयोग सभी वेब-आधारित अनुप्रयोगों द्वारा किया जाता है। इसलिए, यह सुनिश्चित करना आवश्यक था कि वेब सेवाओं में भी HTTP प्रोटोकॉल पर कार्य करने की क्षमता हो।
  • वेब सेवाएँ एक विशेष भाषा विनिर्देश के अनुरूप होती हैं। यह विनिर्देश W3C द्वारा निर्धारित किया जाता है, जो सभी वेब मानकों के लिए नियामक निकाय है।
  • वेब सेवाओं में एक वर्णन भाषा होती है जिसे WSDL के नाम से जाना जाता है, जिसका उपयोग वेब सेवा का वर्णन करने के लिए किया जाता है।

WSDL फ़ाइल सामान्य XML प्रारूप में लिखी गई है। XML प्रारूप में होने का कारण यह है कि इसे किसी भी प्रोग्रामिंग भाषा द्वारा पढ़ा जा सके। इसलिए, यदि क्लाइंट एप्लिकेशन .Net में लिखा गया है, तो वह XML फ़ाइल को समझ लेगा। इसी प्रकार, यदि क्लाइंट एप्लिकेशन किसी अन्य भाषा में लिखा गया है, तो वह XML फ़ाइल को समझ लेगा। Java यदि यह एक प्रोग्रामिंग भाषा है, तो यह WSDL फ़ाइल की व्याख्या करने में भी सक्षम होगी।

WSDL की आवश्यकता

WSDL फ़ाइल ही सब कुछ आपस में जोड़ती है। ऊपर दिए गए चित्र से आप देख सकते हैं कि आप .Net भाषा में एक वेब सेवा बना सकते हैं। यहीं पर सेवा को कार्यान्वित किया जाता है। यदि आपके पास WSDL फ़ाइल नहीं होती और आप एक अलग वेब सेवा बनाना चाहते, तो... Java यदि आप किसी वेब सेवा का उपयोग करने के लिए क्लास बनाना चाहते हैं, तो इसके लिए आपको बहुत अधिक कोडिंग की आवश्यकता होगी। लेकिन अब WSDL फ़ाइल के साथ, जो XML में है और किसी भी प्रोग्रामिंग भाषा द्वारा समझी जा सकती है, आप आसानी से ऐसा कर सकते हैं। Java क्लास .Net वेब सेवा का उपभोग करता है। इसलिए, कोडिंग प्रयास की मात्रा बहुत कम हो जाती है।

WSDL संदेश भाग

WSDL में "संदेश" नामक एक अनुभाग होता है जिसे द्वारा दर्शाया जाता है यह तत्व मूल रूप से वेब सेवा और क्लाइंट एप्लिकेशन के बीच आदान-प्रदान होने वाले डेटा का वर्णन करने के लिए उपयोग किया जाता है।

प्रत्येक वेब सेवा में हमेशा 2 प्रकार के संदेश होंगे:

  • एक वेब सेवा के इनपुट के लिए है, और दूसरा वेब सेवा के आउटपुट के लिए है।
  • इनपुट का उपयोग वेब सेवा द्वारा स्वीकार किए जाने वाले पैरामीटर का वर्णन करने के लिए किया जाता है। यह क्लाइंट एप्लिकेशन का एक महत्वपूर्ण पहलू है ताकि यह जान सके कि वेब सेवा को पैरामीटर के रूप में कौन से मान भेजे जाने हैं।
  • संदेश का दूसरा प्रकार आउटपुट संदेश है जो बताता है कि वेब सेवा द्वारा क्या परिणाम प्रदान किये गए हैं।

प्रत्येक संदेश में, बदले में, एक होगा वह तत्व जिसका उपयोग इनपुट और आउटपुट संदेश द्वारा प्रयुक्त पैरामीटर का वर्णन करने के लिए किया जाता है।

नीचे एक वेब सेवा के संदेश का एक सरल उदाहरण दिया गया है। वेब सेवा का कार्य "ट्यूटोरियल आईडी" को पैरामीटर के रूप में सबमिट किए जाने पर "ट्यूटोरियल" का नाम प्रदान करना है।

WSDL संदेश भाग

  1. जैसा कि हम देख सकते हैं, वेब सेवा में 2 संदेश हैं, एक इनपुट के लिए और दूसरा आउटपुट के लिए।
  2. इनपुट संदेश को ट्यूटोरियलनेमरिक्वेस्ट के रूप में जाना जाता है, जिसमें ट्यूटोरियलआईडी नामक एक पैरामीटर होता है। यह पैरामीटर संख्या प्रकार का है, जिसे xsd:number प्रकार द्वारा निर्दिष्ट किया गया है।
  3. आउटपुट संदेश को TutorialNameResponse के रूप में जाना जाता है, जिसमें TutorialName नामक एक पैरामीटर होता है। यह पैरामीटर स्ट्रिंग प्रकार का होता है, जिसे xsd:string प्रकार द्वारा निर्दिष्ट किया जाता है।

पोर्ट प्रकार बाइंडिंग

WSDL में पोर्ट का उपयोग वेब सेवा द्वारा प्रदान की जाने वाली एक पूर्ण क्रिया को परिभाषित करने के लिए किया जाता है। पिछले विषय में, हमने देखा कि हमारी वेब सेवा ने दो संदेश प्रदान किए, एक इनपुट के लिए जिसे "TutorialNameRequest" कहा जाता है और दूसरा आउटपुट के लिए जिसे "TutorialNameResponse" कहा जाता है। इनपुट और आउटपुट संदेश मिलकर एक पूर्ण क्रिया बनाते हैं।

WSDL नामक एक तत्व प्रदान करता है जिसका उपयोग वेब सेवा द्वारा प्रदान किए गए कार्यों को परिभाषित करने के लिए किया जाता है।

पोर्ट प्रकार बाइंडिंग पोर्टटाइप

अतः उपरोक्त उदाहरण में हम निम्नलिखित बातें नोट कर सकते हैं:

  1. ऑपरेशन को समाहित करने वाले पोर्ट प्रकार का नाम "ट्यूटोरियल_पोर्टटाइप" के रूप में दिया गया है।
  2. इस ऑपरेशन को "ट्यूटोरियल" नाम दिया गया है। इसलिए, यदि इनपुट पैरामीटर के रूप में ट्यूटोरियल आईडी दी जाती है, तो हमारा ऑपरेशन मूल रूप से ट्यूटोरियल का नाम प्रदान करता है।
  3. इसके बाद हमारे पास दो संदेश हैं, एक इनपुट के लिए और दूसरा आउटपुट के लिए, जो हमारे ऑपरेशन का निर्माण करते हैं।

करने के लिए इसके अलावा में तत्व, वहाँ भी है तत्व जिसका उपयोग यह परिभाषित करने के लिए किया जाता है कि संदेश कैसे स्थानांतरित किए जाएंगे।

पोर्ट प्रकार बाइंडिंग बाइंडिंग

  1. ऊपर दिए गए उदाहरण से पता चलता है कि बाइंडिंग में एक बाइंडिंग नाम होता है, जो हमारे मामले में "TutorialSoapBinding" है। सरल शब्दों में, बाइंडिंग वह जानकारी है जिसका उपयोग क्लाइंट एप्लिकेशन वेब सेवा से जुड़ने के लिए करता है। वेब सेवा से जुड़ने के बाद, यह वेब सेवा द्वारा उपलब्ध कराए गए विभिन्न कार्यों को कॉल करने में सक्षम हो जाता है।
  2. परिवहन परत को http:// के रूप में दिया गया है, जिसका अर्थ है कि संदेश HTTP प्रोटोकॉल के माध्यम से स्थानांतरित होंगे।

WSDL फ़ाइल बनाना

किसी भी प्रोग्रामिंग भाषा में वेब सेवा बनाते समय WSDL फ़ाइल बनती है। चूंकि WSDL फ़ाइल को शुरू से बनाना काफी जटिल होता है, इसलिए Visual Studio for .Net जैसे सभी संपादकों का उपयोग किया जाता है। 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 फ़ाइल का प्रत्येक भाग वास्तव में क्या कार्य करता है।

वेब सेवा का उदाहरण प्रकाशित करना

अब आइए देखते हैं कि विजुअल स्टूडियो का उपयोग करके वेब सेवा को कैसे प्रकाशित और उपयोग किया जा सकता है। इस उदाहरण में, हम एक वेब मेथड के साथ एक वेब सेवा बनाएंगे। यह मेथड "ट्यूटोरियलआईडी" नामक एक पूर्णांक पैरामीटर स्वीकार करेगा। वेब मेथड "वेब सर्विसेज" नामक एक स्ट्रिंग लौटाएगा।

इसके बाद हम एक कंसोल-आधारित एप्लिकेशन बनाएंगे, जो इस वेब सेवा का उपयोग करेगा और तदनुसार हमारे वेब मेथड को कॉल करेगा। आइए इस उदाहरण को पूरा करने के लिए आवश्यक चरणों को देखें।

चरण 1) पहला कदम अपनी वेब सेवा बनाना है। एएसपी.नेट वेब प्रोजेक्ट और वेब सेवा के निर्माण की प्रक्रिया समझाई गई है। यहाँ उत्पन्न करेंकृपया प्रोजेक्ट और वेब सेवा बनाने के लिए इन्हीं चरणों का पालन करें। मुख्य बात यह है कि नीचे दिए गए कोड को वेब सेवाओं वाली फ़ाइल में दर्ज करें।

वेब सेवा उदाहरण वेब सेवा कोड प्रकाशित करना

namespace webservic_asmx
{
   [WebService(Name = "Guru99 Web service")]
   public class TutorialService : System.Web.Services.WebService
   {
      [WebMethod]
      public string GetTutorialService(int TutorialID)
      {
         string TutorialName = "Web Services";
         return TutorialName;
      }
   }
}

Code स्पष्टीकरण:

  1. यहां हम “ नामक एक वेबमेथड बना रहे हैंGuru99WebService।" इस वेब मेथड में, हम एक पूर्णांक पैरामीटर शामिल कर रहे हैं जिसे इस वेब मेथड को कॉल करते समय पास करने की आवश्यकता होती है।
  2. इसके बाद हम “TutorialName” नामक एक वैरिएबल परिभाषित कर रहे हैं जो “Web Services” का स्ट्रिंग मान रखेगा। यह वह मान है जो वेब सेवा को कॉल किए जाने पर लौटाया जाएगा।

चरण 2) वेब सेवाओं की फ़ाइल परिभाषित करने के बाद, अगला चरण एक क्लाइंट प्रोजेक्ट बनाना है जो इस वेब सेवा का उपयोग करेगा। आइए एक सरल कंसोल एप्लिकेशन बनाते हैं जो इस वेब सेवा को कॉल करेगा, “Guru“99WebService” टाइप करें और फिर वेब मेथड का आउटपुट कंसोल लॉग स्क्रीन पर प्रदर्शित करें। कंसोल एप्लिकेशन बनाने के लिए नीचे दिए गए चरणों का पालन करें। विजुअल स्टूडियो सॉल्यूशन फ़ाइल पर राइट-क्लिक करें और Add->New project विकल्प चुनें।

वेब सेवा उदाहरण प्रकाशित करें, नया प्रोजेक्ट जोड़ें

चरण 3) इस चरण में,

  1. सबसे पहले विज़ुअल का चयन करना सुनिश्चित करें C# Windows फिर कंसोल एप्लिकेशन बनाने का विकल्प चुनें।
  2. अपने प्रोजेक्ट के लिए एक नाम दें जो हमारे मामले में "डेमोएप्लिकेशन" दिया गया है।

वेब सेवा उदाहरण कंसोल एप्लिकेशन प्रकाशित करना

ऊपर दिए गए स्क्रीन में ओके बटन पर क्लिक करने के बाद, आप विजुअल स्टूडियो में सॉल्यूशन एक्सप्लोरर में प्रोजेक्ट देख पाएंगे।

वेब सेवा उदाहरण समाधान खोजकर्ता प्रकाशित करना

चरण 4) इस चरण में, आप DemoApplication Console एप्लिकेशन को स्टार्टअप प्रोजेक्ट के रूप में सेट करेंगे। ऐसा इसलिए किया जाता है ताकि Visual Studio प्रोजेक्ट के चलने पर यह एप्लिकेशन सबसे पहले लॉन्च हो। यह Console एप्लिकेशन Visual Studio द्वारा स्वचालित रूप से लॉन्च की जाने वाली वेब सेवा को कॉल करेगा। इस चरण को पूरा करने के लिए, DemoApplication प्रोजेक्ट पर राइट-क्लिक करें और "स्टार्टअप प्रोजेक्ट के रूप में सेट करें" विकल्प चुनें।

वेब सेवा उदाहरण सेट को स्टार्टअप प्रोजेक्ट के रूप में प्रकाशित करना

चरण 5) अगला चरण हमारे "सेवा संदर्भ को जोड़ना हैGuruहम अपने कंसोल एप्लिकेशन में "99Webservice" जोड़ते हैं। ऐसा इसलिए किया जाता है ताकि DemoApplication वेब सेवा और उसमें मौजूद सभी वेब विधियों का संदर्भ ले सके। ऐसा करने के लिए, DemoApplication प्रोजेक्ट फ़ाइल पर राइट-क्लिक करें और मेनू विकल्प Add->Service Reference चुनें।

वेब सेवा उदाहरण प्रकाशित करना और सेवा संदर्भ जोड़ना

चरण 6) इस चरण में, हम वे विभिन्न मान प्रदान करेंगे जो हमारे सेवा संदर्भ को जोड़ने के लिए आवश्यक हैं।

  1. सबसे पहले, हमें अपना डिस्कवर विकल्प चुनना होगा। यह विकल्प स्वचालित रूप से हमारे ट्यूटोरियल सर्विस वेब सेवा के लिए WSDL फ़ाइल का पता लगा लेगा।
  2. अगला चरण है, हमें अपनी सेवा संदर्भ के लिए एक नाम देना चाहिए। हमारे मामले में, हम इसे यह नाम दे रहे हैं: Guru99वेबसेवा.
  3. फिर हमें TutorialService.asmx विकल्प को विस्तारित करना होगा ताकि हम दाईं ओर "GetTutorialService" विधि देख सकें। यहां TutorialService.asmx हमारी Visual Studio .Net फ़ाइल का नाम है जिसमें हमारी वेब सेवा का कोड शामिल है।
  4. इसके बाद हम अपने वेब मेथड को देखेंगे जिसे हमने अपनी वेब सेवा में "GetTutorialService" के नाम से जाना जाता है।

वेब सेवा उदाहरण सेवा संदर्भ मानों को प्रकाशित करना

जब हम “ओके” बटन पर क्लिक करते हैं, तो इस वेब सेवा तक पहुँचने के लिए आवश्यक सभी कोड हमारे डेमोएप्लिकेशन कंसोल एप्लिकेशन में जोड़ दिए जाएँगे, जैसा कि नीचे दिखाया गया है। स्क्रीनशॉट दर्शाता है कि “Guru"99Webservice" को हमारे कंसोल एप्लिकेशन में सफलतापूर्वक जोड़ दिया गया है।

वेब सेवा उदाहरण प्रकाशित करने की सेवा जोड़ी गई

चरण 7) अगला चरण वेब सेवा में वेब विधि तक पहुँचने के लिए हमारे कंसोल एप्लिकेशन में कोड जोड़ना है। कंसोल एप्लिकेशन के साथ स्वचालित रूप से आने वाली Program.cs कोड फ़ाइल खोलें और नीचे दिया गया कोड जोड़ें।

वेब सर्विस एग्जांपल प्रोग्राम.cs कोड प्रकाशित करना

namespace DemoApplication
{
   class Program
   {
      static void Main(string[] args)
      {
         var client = new Guru99Webservice.Guru99WebserviceSoapClient();

         Console.WriteLine(client.GetTutorialService(1));

         Console.ReadKey();
      }
   }
}

Code स्पष्टीकरण:

  1. पहला चरण Program.cs फ़ाइल का चयन करना है। यह मुख्य फ़ाइल है जिसे Visual Studio कंसोल एप्लिकेशन बनाते समय तैयार करता है। कंसोल एप्लिकेशन (हमारे मामले में, DemoApplication) के चलने पर यही फ़ाइल निष्पादित होती है।
  2. फिर हम “क्लाइंट” नामक एक वेरिएबल बनाते हैं, जिसे हमारे सर्विस रेफरेंस के एक इंस्टेंस पर सेट किया जाएगा, जिसे पिछले चरण में बनाया गया था। हमारे मामले में, सर्विस रेफरेंस ' हैGuru99वेबसेवा.Guru99WebserviceSoapClient()'.
  3. इसके बाद हम ट्यूटोरियल सर्विस वेब सर्विस में अपने वेब मेथड 'GetTutorialService' को कॉल कर रहे हैं। ध्यान रहे कि हमारा GetTutorialService मेथड एक पूर्णांक पैरामीटर स्वीकार करता है, इसलिए हम वेब मेथड को केवल एक पूर्णांक पैरामीटर पास कर रहे हैं।
  4. यह अंतिम पंक्ति केवल यह सुनिश्चित करने के लिए है कि कंसोल लॉग स्क्रीन सक्रिय रहे ताकि हम आउटपुट देख सकें। यह कमांड उपयोगकर्ता से कुछ इनपुट की प्रतीक्षा करेगा।

उत्पादन

जब उपरोक्त सभी चरणों का पालन किया जाता है और डेमो एप्लिकेशन को चलाया जाता है, तो नीचे दिया गया आउटपुट प्रदर्शित होगा।

वेब सेवा उदाहरण आउटपुट प्रकाशित करना

आउटपुट से, हम स्पष्ट रूप से देख सकते हैं कि DemoApplication हमारी वेब सेवा को कॉल करता है और वेब सेवा द्वारा लौटाई गई स्ट्रिंग हमारे कंसोल लॉग में प्रदर्शित होती है।

अक्सर पूछे जाने वाले प्रश्न

एआई एक जटिल WSDL को पढ़ सकता है, इसके संचालन को सरल भाषा में समझा सकता है, नमूना अनुरोध उत्पन्न कर सकता है और कनेक्टिंग ऑब्जेक्ट्स के बीच विसंगतियों को चिह्नित कर सकता है।tracऔर कार्यान्वयन। इससे अपरिचित या पुराने SOAP वेब सेवाओं के साथ एकीकरण में तेजी आती है।

जी हां। एआई सहायक WSDL परिभाषा को C# जैसी भाषाओं में क्लाइंट स्टब्स, डेटा मॉडल और उदाहरण कॉल में परिवर्तित कर सकते हैं। Javaया, Pythonडेवलपर्स को सही नेमस्पेस और त्रुटि प्रबंधन के लिए जेनरेट किए गए कोड की समीक्षा करनी चाहिए।

SOAP एक मैसेजिंग प्रोटोकॉल है जो XML अनुरोध और प्रतिक्रिया को प्रसारित करता है। WSDL एक विवरण फ़ाइल है जो क्लाइंट को बताती है कि SOAP वेब सेवा कौन-कौन से ऑपरेशन प्रदान करती है और उन्हें कैसे कॉल किया जाता है। इन दोनों का उपयोग एक साथ किया जाता है।

जी हां। WSDL उन उद्यम, बैंकिंग और सरकारी प्रणालियों में SOAP वेब सेवाओं के लिए मानक बना हुआ है जिन्हें औपचारिक सहमति की आवश्यकता होती है।tracनए REST API आमतौर पर OpenAPI (Swagger) का उपयोग करते हैं, लेकिन कई पुराने एकीकरण अभी भी WSDL पर निर्भर हैं।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: