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

विषय - सूची:

Anonim

SOAP क्या है?

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

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

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

इस SOAP वेब सेवा ट्यूटोरियल में, आप सीखेंगे-

  • SOAP परिचय
  • SOAP के फायदे
  • सोप बिल्डिंग ब्लॉक
  • SOAP संदेश संरचना
  • SOAP लिफाफा तत्व
  • SOAP संचार मॉडल
  • व्यावहारिक SOAP उदाहरण

SOAP परिचय

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

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

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

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

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

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

SOAP के फायदे

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

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

सोप बिल्डिंग ब्लॉक्स

SOAP विनिर्देश कुछ " SOAP संदेश " के रूप में जाना जाता है जिसे वेब सेवा और क्लाइंट एप्लिकेशन को भेजा जाता है।

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

SOAP संदेश बिल्डिंग ब्लॉक्स

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

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

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

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

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

  • एक शारीरिक तत्व जिसमें कॉल और प्रतिक्रिया की जानकारी होती है - यह तत्व वह होता है जिसमें वास्तविक डेटा होता है जिसे वेब सेवा और कॉलिंग एप्लिकेशन के बीच भेजा जाना चाहिए। नीचे SOAP निकाय का SOAP वेब सेवा उदाहरण है जो वास्तव में हेडर अनुभाग में परिभाषित जटिल प्रकार पर काम करता है। यहाँ ट्यूटोरियल नाम और ट्यूटोरियल विवरण की प्रतिक्रिया है जो कॉलिंग एप्लिकेशन को भेजी जाती है जो इस वेब सेवा को कॉल करती है।
Web ServicesAll about web services

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.2 लिफाफा नाम वाले संदेश को प्राप्त करने पर एक v1.1-आज्ञाकारी SOAP प्रोसेसर एक गलती उत्पन्न करता है।
  • यदि v1.2 लिफ़ाफ़ा नामस्थान शामिल नहीं है, तो यह एक संदेश प्राप्त करता है जो एक v1.2 अनुरूप SOAP प्रोसेसर एक संस्करण बेमेल गलती उत्पन्न करता है।

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

int

दोष संदेश

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

SOAP दोष संदेश में निम्न तत्व होते हैं।

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

गलती संदेश के लिए उदाहरण

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

नीचे गलती संदेश घटना में उत्पन्न होता है कि विधि परिभाषित वर्ग में मौजूद नहीं है।

SOAP-ENV:ClientFailed to locate method (GetTutorialID) in class (GetTutorial)

आउटपुट:

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

SOAP संचार मॉडल

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

एक बार जब आप दृश्य स्टूडियो 2013 में अपने समाधान एक्सप्लोरर में बनाई गई परियोजना फ़ाइल देखेंगे।

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

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

  1. पहले प्रोजेक्ट फ़ाइल पर राइट-क्लिक करें जैसा कि नीचे दिखाया गया है

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

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

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

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

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

आउटपुट:

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

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

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

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

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

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

string

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

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

सारांश

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