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

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

SOAP (सिंपल ऑब्जेक्ट एक्सेस प्रोटोकॉल) HTTP पर वेब सेवाओं तक पहुँचने के लिए XML आधारित प्रोटोकॉल है। यह संसाधन SOAP के मूलभूत तत्वों, संदेश संरचना, एनवेलप और फॉल्ट तत्वों, संचार मॉडल और एक व्यावहारिक ASMX वेब सेवा उदाहरण की व्याख्या करता है।

  • 📦 कोर प्रोटोकॉल: SOAP एक ट्रांसपोर्ट-इंडिपेंडेंट, XML-आधारित मैसेजिंग प्रोटोकॉल है जो विभिन्न भाषाओं में निर्मित एप्लिकेशन को HTTP पर डेटा का आदान-प्रदान करने की अनुमति देता है।
  • 🧱 इमारत ब्लॉकों: एक SOAP संदेश में एक लिफाफा, एक वैकल्पिक हेडर, एक बॉडी और एक वैकल्पिक फॉल्ट तत्व शामिल होता है।
  • ✉️ लिफाफा तत्व: अनिवार्य रूट एनवेलप संदेश को समाहित करता है और क्लाइंट एप्लिकेशन को इसकी शुरुआत और अंत का संकेत देता है।
  • 🔁 संचार मॉडल: क्लाइंट एक अनुरोध को SOAP संदेश में परिवर्तित करता है; सर्वर उसे पुनः परिवर्तित करता है और HTTP के माध्यम से SOAP प्रतिक्रिया लौटाता है।
  • व्यावहारिक उदाहरण: विजुअल स्टूडियो में एक ASMX वेब सेवा कॉलिंग क्लाइंट के लिए SOAP अनुरोध और प्रतिक्रिया संदेशों को स्वचालित रूप से उत्पन्न करती है।

SOAP प्रोटोकॉल क्या है?

SOAP क्या है?

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

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

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

साबुन परिचय

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

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

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

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

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

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

SOAP के लाभ

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

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

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

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

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

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

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

  • An लिफाफा XML दस्तावेज़ को SOAP संदेश के रूप में पहचानने वाला तत्व – यह SOAP संदेश का समाहित भाग है और SOAP संदेश में सभी विवरणों को समाहित करने के लिए उपयोग किया जाता है। यह SOAP संदेश का मूल तत्व है।
  • A हैडर हेडर जानकारी रखने वाला तत्व – हेडर तत्व में प्रमाणीकरण क्रेडेंशियल जैसी जानकारी हो सकती है जिसका उपयोग कॉलिंग एप्लिकेशन द्वारा किया जा सकता है। इसमें जटिल प्रकारों की परिभाषा भी हो सकती है जिनका उपयोग 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>

A तन कॉल और प्रतिक्रिया की जानकारी रखने वाला तत्व – इस तत्व में वह वास्तविक डेटा होता है जिसे वेब सेवा और कॉलिंग एप्लिकेशन के बीच भेजा जाना होता है। नीचे 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. हमारे संदेश में एक वेब सेवा शामिल है जिसका नाम “ हैGuru99वेबसेवा”।
  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 वेब सेवा को अनुरोध भेजा जाता है, तो प्रतिक्रिया दो प्रकार की हो सकती है: सफल प्रतिक्रिया या त्रुटि प्रतिक्रिया। सफलता मिलने पर, सर्वर से प्राप्त प्रतिक्रिया हमेशा SOAP संदेश होती है। लेकिन यदि SOAP त्रुटियाँ उत्पन्न होती हैं, तो उन्हें "HTTP 500" त्रुटि के रूप में वापस भेजा जाता है।

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

  1. <faultCode> – यह त्रुटि का कोड दर्शाता है। त्रुटि कोड नीचे दिए गए मानों में से कोई भी हो सकता है:
    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 संचार मॉडल RPC शैली

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

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

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

SOAP संचार मॉडल SOAP शैली

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

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

अब इसमें SoapUI इस ट्यूटोरियल में, आइए एक व्यावहारिक SOAP उदाहरण देखें। SOAP संदेश कैसे उत्पन्न होते हैं, यह देखने का शायद सबसे अच्छा तरीका किसी वेब सेवा को क्रियान्वित होते हुए देखना है।

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

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

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

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

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

SOAP संदेश उदाहरण नया प्रोजेक्ट

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

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

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

SOAP संदेश उदाहरण परियोजना विवरण

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

SOAP संदेश उदाहरण समाधान अन्वेषक

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

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

SOAP संदेश का उदाहरण देखने के लिए प्रोजेक्ट पर राइट-क्लिक करें

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

SOAP संदेश उदाहरण: वेब सेवा जोड़ें

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

SOAP संदेश उदाहरण वेब सेवा कोड

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

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

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

आउटपुट:

SOAP संदेश उदाहरण आउटपुट

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

SOAP संदेश उदाहरण: प्रतिक्रिया को आमंत्रित करें

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

  • इससे स्पष्ट रूप से पता चलता है कि वेब विधि को लागू करने पर, स्ट्रिंग "This is a" Guru99 वेब सेवा” लौटाया जाता है।
  • विजुअल स्टूडियो आपको SOAP संदेश अनुरोध और प्रतिक्रिया देखने की भी अनुमति देता है जो उपरोक्त वेब सेवा को कॉल करने पर उत्पन्न होती है।

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

SOAP संदेश का उदाहरण SOAP अनुरोध

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

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

SOAP संदेश का उदाहरण 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>

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

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

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

कृत्रिम बुद्धिमत्ता (AI) प्राकृतिक भाषा से SOAP अनुरोध उत्पन्न कर सकती है, WSDL के आधार पर लिफाफों का सत्यापन कर सकती है और गलत या संदिग्ध संदेशों का पता लगा सकती है। पुराने उद्यम प्रणालियों में, AI सहायक डेवलपर्स को पुरानी SOAP सेवाओं को अधिक तेज़ी से समझने और बनाए रखने में भी मदद करते हैं।

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

SOAP एक सख्त XML-आधारित प्रोटोकॉल है जिसमें सुरक्षा और त्रुटि प्रबंधन के लिए अंतर्निहित मानक होते हैं। REST एक हल्का आर्किटेक्चरल स्टाइल है जो HTTP विधियों और अक्सर JSON का उपयोग करता है। SOAP औपचारिक उद्यम एकीकरण के लिए उपयुक्त है, जबकि REST सार्वजनिक वेब API के लिए लोकप्रिय है।

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

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