SOAP वेब सेवा ट्यूटोरियल: SOAP प्रोटोकॉल क्या है? उदाहरण

SOAP क्या है?

SOAP HTTP पर वेब सेवाओं तक पहुँचने के लिए XML-आधारित प्रोटोकॉल है। इसमें कुछ विशिष्टताएँ हैं जिनका उपयोग सभी अनुप्रयोगों में किया जा सकता है।

SOAP को सिंपल ऑब्जेक्ट एक्सेस प्रोटोकॉल के नाम से जाना जाता है, लेकिन बाद में इसे छोटा करके SOAP v1.2 कर दिया गया। SOAP एक प्रोटोकॉल है या दूसरे शब्दों में यह एक परिभाषा है कि वेब सेवाएँ एक दूसरे से कैसे बात करती हैं या क्लाइंट एप्लीकेशन से कैसे बात करती हैं जो उन्हें आमंत्रित करते हैं।

SOAP को एक मध्यवर्ती भाषा के रूप में विकसित किया गया था ताकि विभिन्न प्रोग्रामिंग भाषाओं पर निर्मित अनुप्रयोग एक दूसरे से आसानी से संवाद कर सकें और अत्यधिक विकास प्रयास से बच सकें।

साबुन परिचय

आज की दुनिया में, ऐसे बहुत से एप्लीकेशन हैं जो अलग-अलग प्रोग्रामिंग भाषाओं पर बनाए गए हैं। उदाहरण के लिए, एक वेब एप्लीकेशन को अलग-अलग प्रोग्रामिंग भाषाओं में डिज़ाइन किया जा सकता है। Java, दूसरा .Net में और दूसरा PHP.

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

इस जटिलता से निपटने के लिए प्रयुक्त तरीकों में से एक है अनुप्रयोगों के बीच डेटा के आदान-प्रदान के लिए मध्यवर्ती भाषा के रूप में XML (एक्सटेंसिबल मार्कअप लैंग्वेज) का उपयोग करना।

हर प्रोग्रामिंग भाषा XML मार्कअप भाषा को समझ सकती है। इसलिए, डेटा एक्सचेंज के लिए अंतर्निहित माध्यम के रूप में XML का उपयोग किया गया था।

लेकिन डेटा एक्सचेंज के लिए सभी प्रोग्रामिंग भाषाओं में XML के उपयोग पर कोई मानक विनिर्देश नहीं हैं। यहीं पर SOAP सॉफ्टवेयर काम आता है।

SOAP को HTTP पर XML के साथ काम करने के लिए डिज़ाइन किया गया था और इसमें कुछ प्रकार के विनिर्देश थे जिनका उपयोग सभी अनुप्रयोगों में किया जा सकता था। हम अगले अध्यायों में SOAP प्रोटोकॉल पर और अधिक विवरण देखेंगे।

SOAP के लाभ

SOAP एक प्रोटोकॉल है जिसका उपयोग अनुप्रयोगों के बीच डेटा आदान-प्रदान के लिए किया जाता है। नीचे कुछ कारण दिए गए हैं कि SOAP का उपयोग क्यों किया जाता है।

  • SOAP आधारित वेब सेवाएँ विकसित करते समय, आपको कुछ ऐसी भाषा की आवश्यकता होती है जिसका उपयोग वेब सेवाओं के लिए क्लाइंट अनुप्रयोगों के साथ बातचीत करने के लिए किया जा सके। SOAP एक आदर्श माध्यम है जिसे इस उद्देश्य को प्राप्त करने के लिए विकसित किया गया था। इस प्रोटोकॉल की सिफारिश W3C संघ द्वारा भी की जाती है जो सभी वेब मानकों के लिए शासी निकाय है।
  • SOAP एक हल्का-फुल्का प्रोटोकॉल है जिसका उपयोग अनुप्रयोगों के बीच डेटा आदान-प्रदान के लिए किया जाता है। कीवर्ड ' पर ध्यान देंप्रकाशचूंकि SOAP प्रोग्रामिंग XML भाषा पर आधारित है, जो स्वयं एक हल्की डेटा इंटरचेंज भाषा है, इसलिए प्रोटोकॉल के रूप में SOAP भी उसी श्रेणी में आता है।
  • SOAP को प्लेटफ़ॉर्म स्वतंत्र होने के लिए डिज़ाइन किया गया है और इसे ऑपरेटिंग सिस्टम स्वतंत्र होने के लिए भी डिज़ाइन किया गया है। इसलिए SOAP प्रोटोकॉल किसी भी प्रोग्रामिंग भाषा आधारित एप्लिकेशन पर काम कर सकता है। Windows और Linux प्लेटफार्म पर ट्रेड कैसे करना है|
  • यह HTTP प्रोटोकॉल पर काम करता है - SOAP HTTP प्रोटोकॉल पर काम करता है, जो सभी वेब एप्लिकेशन द्वारा उपयोग किया जाने वाला डिफ़ॉल्ट प्रोटोकॉल है। इसलिए, वर्ल्ड वाइड वेब पर काम करने के लिए SOAP प्रोटोकॉल पर निर्मित वेब सेवाओं को चलाने के लिए किसी प्रकार के अनुकूलन की आवश्यकता नहीं होती है।

साबुन निर्माण ब्लॉक

SOAP विनिर्देश कुछ को परिभाषित करता है जिसे “एसओएपी संदेश” जो वेब सेवा और क्लाइंट एप्लिकेशन को भेजा जाता है।

SOAP आर्किटेक्चर का नीचे दिया गया चित्र SOAP संदेश के विभिन्न निर्माण खंडों को दर्शाता है।

साबुन निर्माण ब्लॉक
SOAP संदेश निर्माण ब्लॉक

SOAP संदेश और कुछ नहीं बल्कि एक XML दस्तावेज़ है जिसमें निम्नलिखित घटक होते हैं।

  • एक लिफ़ाफ़ा तत्व जो XML दस्तावेज़ को SOAP संदेश के रूप में पहचानता है - यह SOAP संदेश का वह हिस्सा है जिसका उपयोग SOAP संदेश में सभी विवरणों को समाहित करने के लिए किया जाता है। यह SOAP संदेश में मूल तत्व है।
  • हेडर तत्व जिसमें हेडर जानकारी होती है – हेडर तत्व में प्रमाणीकरण क्रेडेंशियल जैसी जानकारी हो सकती है जिसका उपयोग कॉलिंग एप्लिकेशन द्वारा किया जा सकता है। इसमें जटिल प्रकारों की परिभाषा भी हो सकती है जिसका उपयोग SOAP संदेश में किया जा सकता है। डिफ़ॉल्ट रूप से, SOAP संदेश में पैरामीटर हो सकते हैं जो स्ट्रिंग और संख्या जैसे सरल प्रकार के हो सकते हैं, लेकिन एक जटिल ऑब्जेक्ट प्रकार भी हो सकते हैं।

एक जटिल प्रकार का सरल SOAP सेवा उदाहरण नीचे दिखाया गया है।

मान लीजिए कि हम एक संरचित डेटा प्रकार भेजना चाहते हैं जिसमें "ट्यूटोरियल नाम" और "ट्यूटोरियल" का संयोजन है Descriptआयन,” तो हम जटिल प्रकार को नीचे दिखाए अनुसार परिभाषित करेंगे।

जटिल प्रकार को तत्व टैग द्वारा परिभाषित किया जाता है संरचना के सभी आवश्यक तत्वों को उनके संबंधित डेटा प्रकारों के साथ जटिल प्रकार संग्रह में परिभाषित किया जाता है।

<xsd:complexType>     
 <xsd:sequence>       
 	<xsd:element name="Tutorial Name" type="string"/>         
  	<xsd:element name="Tutorial Description"  type="string"/>
  </xsd:sequence>
</xsd:complexType>
  • एक बॉडी एलिमेंट जिसमें कॉल और रिस्पॉन्स जानकारी होती है – यह एलिमेंट वह होता है जिसमें वास्तविक डेटा होता है जिसे वेब सेवा और कॉलिंग एप्लिकेशन के बीच भेजा जाना चाहिए। नीचे SOAP बॉडी का एक SOAP वेब सेवा उदाहरण दिया गया है जो वास्तव में हेडर सेक्शन में परिभाषित जटिल प्रकार पर काम करता है। यहाँ ट्यूटोरियल नाम और ट्यूटोरियल की प्रतिक्रिया दी गई है Descriptयह संदेश उस कॉलिंग एप्लिकेशन को भेजा जाता है जो इस वेब सेवा को कॉल करता है।
<soap:Body>
   <GetTutorialInfo>
		<TutorialName>Web Services</TutorialName> 
		<TutorialDescription>All about web services</TutorialDescription> 
   </GetTutorialInfo>
</soap:Body>

SOAP संदेश संरचना

ध्यान देने योग्य बात यह है कि SOAP संदेश सामान्यतः वेब सेवा द्वारा स्वतः उत्पन्न किये जाते हैं जब इसे कॉल किया जाता है।

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

जैसा कि इस SOAP ट्यूटोरियल के पिछले विषय में चर्चा की गई है, एक सरल SOAP संदेश में निम्नलिखित तत्व होते हैं –

  • लिफाफा तत्व
  • हेडर तत्व और
  • शरीर तत्व
  • दोष तत्व (वैकल्पिक)

आइये नीचे दिए गए एक सरल SOAP संदेश के उदाहरण को देखें और देखें कि तत्व वास्तव में क्या करता है।

SOAP संदेश संरचना

SOAP संदेश संरचना
  1. जैसा कि उपरोक्त SOAP संदेश से देखा जा सकता है, SOAP संदेश का पहला भाग लिफ़ाफ़ा तत्व है जिसका उपयोग संपूर्ण SOAP संदेश को समाहित करने के लिए किया जाता है।
  2. अगला तत्व SOAP बॉडी है जिसमें वास्तविक संदेश का विवरण होता है।
  3. हमारे संदेश में एक वेब सेवा है जिसका नाम “Guru99WebService” है।
  4. “Guru99Webservice” 'int' प्रकार का पैरामीटर स्वीकार करता है और इसका नाम TutorialID है।

अब, उपरोक्त SOAP संदेश वेब सेवा और क्लाइंट एप्लिकेशन के बीच पारित किया जाएगा।

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

SOAP लिफ़ाफ़ा तत्व

बिल्डिंग ब्लॉक का पहला भाग SOAP लिफाफा है।

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

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

SOAP लिफ़ाफ़ा तत्व पर निम्नलिखित बिंदुओं पर ध्यान दिया जा सकता है।

  • प्रत्येक SOAP संदेश में एक मूल लिफ़ाफ़ा तत्व होना आवश्यक है। SOAP संदेश में एक लिफ़ाफ़ा तत्व होना अनिवार्य है।
  • प्रत्येक लिफाफा तत्व में कम से कम एक साबुन शरीर तत्व होना आवश्यक है।
  • यदि किसी एनवेलप तत्व में हेडर तत्व शामिल है, तो उसमें एक से अधिक तत्व नहीं होने चाहिए, तथा उसे बॉडी तत्व से पहले एनवेलप के प्रथम संतान के रूप में प्रदर्शित होना चाहिए।
  • SOAP संस्करण बदलने पर लिफाफा बदल जाता है।
  • v1.1-अनुरूप SOAP प्रोसेसर, v1.2 लिफ़ाफ़ा नामस्थान युक्त संदेश प्राप्त करने पर एक त्रुटि उत्पन्न करता है।
  • यदि v1.2-अनुरूप SOAP प्रोसेसर को ऐसा संदेश प्राप्त होता है जिसमें v1.2 लिफ़ाफ़ा नामस्थान शामिल नहीं है, तो वह संस्करण बेमेल दोष उत्पन्न करता है।

नीचे SOAP लिफ़ाफ़ा तत्व के संस्करण 1.2 का SOAP API उदाहरण दिया गया है।

<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2001/12/soap-envelope" SOAP-ENV:encodingStyle=" http://www.w3.org/2001/12/soap-encoding">
          <soap:Body>
        <Guru99WebService xmlns="http://tempuri.org/">
                  <TutorialID>int</TutorialID>
                </Guru99WebService>
          </soap:Body>
</SOAP-ENV:Envelope>

गलती का संदेश

जब SOAP वेब सेवा से अनुरोध किया जाता है, तो लौटाई गई प्रतिक्रिया या तो 2 रूपों में हो सकती है, जो एक सफल प्रतिक्रिया या एक त्रुटि प्रतिक्रिया है। जब कोई सफलता उत्पन्न होती है, तो सर्वर से प्रतिक्रिया हमेशा एक SOAP संदेश होगी। लेकिन अगर SOAP दोष उत्पन्न होते हैं, तो उन्हें “HTTP 500” त्रुटियों के रूप में लौटाया जाता है।

SOAP फॉल्ट संदेश में निम्नलिखित तत्व शामिल होते हैं।

  1. - यह वह कोड है जो त्रुटि के कोड को निर्दिष्ट करता है। दोष कोड नीचे दिए गए किसी भी मान में से कोई भी हो सकता है
    1. SOAP-ENV:VersionMismatch – यह तब होता है जब SOAP लिफ़ाफ़ा तत्व के लिए एक अमान्य नामस्थान का सामना होता है।
    2. SOAP-ENV:MustUnderstand – हेडर तत्व का तत्काल चाइल्ड तत्व, mustUnderstand विशेषता को “1” पर सेट करने के साथ, समझ में नहीं आया।
    3. SOAP-ENV:क्लाइंट – संदेश गलत तरीके से बनाया गया था या उसमें गलत जानकारी थी।
    4. SOAP-ENV:Server – सर्वर में कोई समस्या थी, इसलिए संदेश आगे नहीं बढ़ सका।
  2. - यह वह टेक्स्ट संदेश है जो त्रुटि का विस्तृत विवरण देता है।
  3. (वैकल्पिक)- यह एक टेक्स्ट स्ट्रिंग है जो यह बताता है कि दोष किसके कारण हुआ।
  4. (वैकल्पिक) - यह एप्लिकेशन-विशिष्ट त्रुटि संदेशों के लिए तत्व है। इसलिए एप्लिकेशन में अलग-अलग व्यावसायिक तर्क परिदृश्यों के लिए एक विशिष्ट त्रुटि संदेश हो सकता है।

दोष संदेश का उदाहरण

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

यदि विधि निर्धारित वर्ग में मौजूद नहीं है तो नीचे दिया गया त्रुटि संदेश उत्पन्न होता है।

<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema">
      <SOAP-ENV:Body>
         <SOAP-ENV:Fault>
         <faultcode xsi:type="xsd:string">SOAP-ENV:Client</faultcode>
        <faultstring xsi:type="xsd:string">
            Failed to locate method (GetTutorialID) in class (GetTutorial)
         </faultstring>
    </SOAP-ENV:Fault>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

आउटपुट:

जब आप उपरोक्त कोड निष्पादित करेंगे, तो यह “क्लास (GetTutorial) में विधि (GetTutorialID) का पता लगाने में विफल” जैसी त्रुटि दिखाएगा।

SOAP संचार मॉडल

SOAP द्वारा सभी संचार HTTP प्रोटोकॉल के माध्यम से किया जाता है। SOAP से पहले, बहुत सारे वेब सेवाओं संचार के लिए मानक RPC (रिमोट प्रोसीजर कॉल) शैली का उपयोग किया गया। यह संचार का सबसे सरल प्रकार था, लेकिन इसमें बहुत सी सीमाएँ थीं।

अब इस SOAP API ट्यूटोरियल में, आइए नीचे दिए गए आरेख पर विचार करें कि यह संचार कैसे काम करता है। इस उदाहरण में, मान लें कि सर्वर एक वेब सेवा होस्ट करता है जो 2 विधियाँ प्रदान करता है

  • कर्मचारी प्राप्त करें – इससे सभी कर्मचारियों का विवरण प्राप्त हो जाएगा
  • कर्मचारी सेट करें - इससे कर्मचारियों के विभाग, वेतन आदि जैसे विवरणों का मूल्य तदनुसार निर्धारित हो जाएगा।

सामान्य RPC शैली संचार में, क्लाइंट अपने अनुरोध में विधियों को कॉल करेगा और सर्वर को आवश्यक पैरामीटर भेजेगा, और सर्वर तब वांछित प्रतिक्रिया भेजेगा।

SOAP संचार मॉडल

उपरोक्त संचार मॉडल में निम्नलिखित गंभीर सीमाएँ हैं

  1. भाषा स्वतंत्र नहीं - विधियों को होस्ट करने वाला सर्वर एक विशेष प्रोग्रामिंग भाषा में होगा और आमतौर पर सर्वर पर कॉल केवल उसी प्रोग्रामिंग भाषा में होगी।
  2. मानक प्रोटोकॉल नहीं - जब रिमोट प्रक्रिया पर कॉल किया जाता है, तो कॉल मानक प्रोटोकॉल के माध्यम से नहीं किया जाता है। यह एक समस्या थी क्योंकि वेब पर ज़्यादातर सभी संचार HTTP प्रोटोकॉल के माध्यम से किए जाने थे।
  3. फायरवॉल - चूंकि RPC कॉल सामान्य प्रोटोकॉल के माध्यम से नहीं जाते हैं, इसलिए क्लाइंट को सर्वर के साथ संचार करने की अनुमति देने के लिए सर्वर पर अलग-अलग पोर्ट खुले होने चाहिए। आम तौर पर सभी फ़ायरवॉल इस तरह के ट्रैफ़िक को ब्लॉक कर देते हैं, और क्लाइंट और सर्वर के बीच इस तरह का संचार काम करेगा यह सुनिश्चित करने के लिए आम तौर पर बहुत सारे कॉन्फ़िगरेशन की आवश्यकता होती है।

उपरोक्त सभी सीमाओं पर काबू पाने के लिए, SOAP नीचे दिए गए संचार मॉडल का उपयोग करेगा

SOAP संचार मॉडल

  1. क्लाइंट प्रक्रिया कॉल और किसी भी तर्क के बारे में जानकारी को SOAP संदेश में प्रारूपित करेगा और इसे HTTP अनुरोध के भाग के रूप में सर्वर को भेजेगा। डेटा को SOAP संदेश में समाहित करने की इस प्रक्रिया को इस रूप में जाना जाता था मार्शलिंग.
  2. सर्वर तब क्लाइंट द्वारा भेजे गए संदेश को खोलेगा, देखेगा कि क्लाइंट ने क्या अनुरोध किया है और फिर SOAP संदेश के रूप में क्लाइंट को उचित प्रतिक्रिया वापस भेजेगा। क्लाइंट द्वारा भेजे गए अनुरोध को खोलने की प्रक्रिया को क्या कहते हैं? डिमार्शलिंग.

व्यावहारिक SOAP उदाहरण

अब इस SoapUI ट्यूटोरियल में, आइए एक व्यावहारिक SOAP उदाहरण देखें,

संभवतः यह देखने का सबसे अच्छा तरीका है कि SOAP संदेश किस प्रकार उत्पन्न होते हैं, तथा वेब सेवा को वास्तव में क्रियाशील देखना है।

यह विषय का उपयोग करने पर दिखेगा MicrosoftASMX वेब सेवा बनाने के लिए .Net फ्रेमवर्क। इस प्रकार की वेब सेवा SOAP संस्करण 1.1 और संस्करण 1.2 दोनों का समर्थन करती है।

ASMX वेब सेवाएं स्वचालित रूप से उत्पन्न करती हैं वेब सेवा परिभाषा भाषा (WSDL) दस्तावेज़। यह WSDL दस्तावेज़ कॉलिंग क्लाइंट अनुप्रयोग के लिए आवश्यक है ताकि अनुप्रयोग को पता चले कि वेब सेवा क्या करने में सक्षम है।

हमारे उदाहरण में, हम एक सरल वेब सेवा बनाने जा रहे हैं, जिसका उपयोग वेब सेवा को कॉल करने वाले एप्लिकेशन को एक स्ट्रिंग लौटाने के लिए किया जाएगा।

यह वेब सेवा एक में होस्ट की जाएगी एएसपी.नेट वेब अनुप्रयोग। फिर हम वेब सेवा को आमंत्रित करेंगे और वेब सेवा द्वारा लौटाए गए परिणाम को देखेंगे।

विजुअल स्टूडियो हमें यह भी दिखाएगा कि वेब सेवा और कॉलिंग एप्लिकेशन के बीच कौन सा SOAP संदेश भेजा जा रहा है।

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

कृपया सुनिश्चित करें कि इस उदाहरण के लिए आपके सिस्टम पर Visual Studio 2013 स्थापित है।

चरण 1) पहला कदम एक खाली ASP.Net वेब एप्लिकेशन बनाना है। Visual Studio 2013 से, मेनू विकल्प फ़ाइल-> नई परियोजना पर क्लिक करें।

SOAP संदेश उदाहरण

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

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

  1. सबसे पहले यह सुनिश्चित करें कि आप C# ASP.NET वेब एप्लिकेशन का वेब टेम्पलेट। SOAP सेवा प्रोजेक्ट बनाने के लिए प्रोजेक्ट इस प्रकार का होना चाहिए। इस विकल्प को चुनने पर, Visual Studio किसी भी वेब-आधारित एप्लिकेशन द्वारा आवश्यक आवश्यक फ़ाइलों को जोड़ने के लिए आवश्यक कदम उठाएगा।
  2. अपने प्रोजेक्ट के लिए एक नाम दें जो हमारे मामले में webservice.asmx के रूप में दिया गया है। फिर एक स्थान देना सुनिश्चित करें जहाँ प्रोजेक्ट फ़ाइलें संग्रहीत की जाएँगी।

SOAP संदेश उदाहरण

एक बार ऐसा हो जाने पर आपको Visual Studio 2013 में आपके समाधान एक्सप्लोरर में बनाई गई प्रोजेक्ट फ़ाइल दिखाई देगी।

SOAP संदेश उदाहरण

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

हम अपने प्रोजेक्ट में एक वेब सेवा फ़ाइल जोड़ने जा रहे हैं

  1. सबसे पहले नीचे दिखाए अनुसार प्रोजेक्ट फ़ाइल पर राइट-क्लिक करें

SOAP संदेश उदाहरण

  1. एक बार जब आप प्रोजेक्ट फ़ाइल पर राइट-क्लिक करते हैं, तो आपके पास वेब सेवा फ़ाइल जोड़ने के लिए "Add->Web Service(ASMX)" विकल्प चुनने का मौका होता है। बस वेब सेवा नाम फ़ाइल के लिए ट्यूटोरियल सेवा का नाम प्रदान करें।

SOAP संदेश उदाहरण

चरण 4) अपनी ट्यूटोरियल सर्विस asmx फ़ाइल में निम्नलिखित कोड जोड़ें।

SOAP संदेश उदाहरण

कोड स्पष्टीकरण:

  1. कोड की यह पंक्ति आपकी वेब सेवा फ़ाइल के लिए एक नाम प्रदान करती है। यह एक महत्वपूर्ण कदम है क्योंकि यह क्लाइंट एप्लिकेशन को वेब सेवा के नाम के माध्यम से वेब सेवा को कॉल करने का रास्ता देता है।
  2. आम तौर पर क्लास फ़ाइल का उपयोग वेब सेवा की कार्यक्षमता को समाहित करने के लिए किया जाता है। इसलिए क्लास फ़ाइल में सभी वेब विधियों की परिभाषा होगी जो क्लाइंट एप्लिकेशन को कुछ कार्यक्षमता प्रदान करेगी।
  3. यहाँ [WebMethod] को एक विशेषता के रूप में जाना जाता है जो फ़ंक्शन का वर्णन करता है। अगला चरण “Guru99WebService” नामक फ़ंक्शन बनाता है, लेकिन [WebMethod] विशेषता जोड़ने के इस चरण को शामिल करने से यह सुनिश्चित होता है कि इस विधि को क्लाइंट एप्लिकेशन द्वारा इनवोक किया जा सकता है। यदि यह विशेषता मौजूद नहीं है, तो विधि को क्लाइंट एप्लिकेशन द्वारा कभी भी कॉल नहीं किया जा सकता है।
  4. यहाँ हम 'Guru99WebService' नामक एक फ़ंक्शन को परिभाषित कर रहे हैं जिसका उपयोग कॉलिंग क्लाइंट एप्लिकेशन को एक स्ट्रिंग लौटाने के लिए किया जाएगा। यह फ़ंक्शन एक वेब सेवा है जिसे किसी भी क्लाइंट एप्लिकेशन द्वारा कॉल किया जा सकता है।
  5. हम क्लाइंट एप्लिकेशन को "यह एक गुरु99 वेब सेवा है" स्ट्रिंग वापस करने के लिए रिटर्न स्टेटमेंट का उपयोग कर रहे हैं।

यदि कोड सफलतापूर्वक निष्पादित हो जाता है, तो जब आप अपना कोड ब्राउज़र में चलाएंगे तो निम्नलिखित आउटपुट दिखाया जाएगा।

आउटपुट:

SOAP संदेश उदाहरण

  • आउटपुट स्पष्ट रूप से दिखाता है कि हमारी वेब सेवा का नाम "गुरु 99 वेब सेवा" है जो हमारी वेब सेवा के लिए नाम देने का परिणाम है।
  • हम यह भी देख सकते हैं कि हम वेब सेवा को इनवोक कर सकते हैं। यदि हम इनवोक बटन पर क्लिक करते हैं, तो हमें वेब ब्राउज़र में नीचे दिया गया रिस्पॉन्स मिलेगा।

SOAP संदेश उदाहरण

उपरोक्त आउटपुट,

  • यह स्पष्ट रूप से दर्शाता है कि वेब विधि को लागू करने पर, “यह एक गुरु99 वेब सेवा है” स्ट्रिंग लौटाई जाती है।
  • विजुअल स्टूडियो आपको SOAP संदेश अनुरोध और प्रतिक्रिया देखने की भी अनुमति देता है जो उपरोक्त वेब सेवा को कॉल करने पर उत्पन्न होती है।

वेब सेवा को कॉल करने पर उत्पन्न होने वाला SOAP अनुरोध नीचे दिखाया गया है।

SOAP संदेश उदाहरण

कोड स्पष्टीकरण:

  1. SOAP संदेश का पहला भाग लिफ़ाफ़ा तत्व है जिसकी चर्चा पिछले अध्यायों में की गई थी। यह एनकैप्सुलेटिंग तत्व है जो हर SOAP संदेश में मौजूद होता है।
  2. SOAP बॉडी अगला तत्व है और इसमें SOAP संदेश का वास्तविक विवरण होता है।
  3. तीसरा भाग वह तत्व है जो निर्दिष्ट करता है कि हम उस सेवा को कॉल करना चाहते हैं जिसे 'Guru99WebService' कहा जाता है।

SOAP संदेश उदाहरण

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  
    <soap:Body>
      
        <Guru99WebServiceResponse xmlns="http://tempuri.org/">
          
            <Guru99WebServiceResult>string</Guru99WebServiceResult>
          
        </Guru99WebServiceResponse>
    </soap:Body>
</soap:Envelope>

कोड स्पष्टीकरण:

  1. SOAP संदेश का पहला भाग लिफ़ाफ़ा तत्व है जिसकी चर्चा पिछले अध्यायों में की गई थी। यह एनकैप्सुलेटिंग तत्व है जो हर SOAP संदेश में मौजूद होता है।
  2. SOAP बॉडी अगला तत्व है और इसमें SOAP संदेश का वास्तविक विवरण होता है।
  3. अब आप जो दिलचस्प हिस्सा देखेंगे वह है 'स्ट्रिंग' विशेषता। यह क्लाइंट एप्लिकेशन को बताता है कि जिस वेब सेवा को कॉल किया जा रहा है वह स्ट्रिंग प्रकार का ऑब्जेक्ट लौटाती है। यह बहुत उपयोगी है क्योंकि अगर क्लाइंट एप्लिकेशन को अन्यथा पता नहीं होता कि वेब सेवा क्या लौटाती है।

सारांश

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