
नमस्कार, जावा का उपयोग करके SOAP-आधारित एप्लिकेशन विकसित करने पर लेखों की मेरी 3 श्रृंखला के पहले भाग में आपका स्वागत है। यह श्रृंखला SOAP प्रोटोकॉल का विस्तृत विवरण नहीं है, बल्कि यह प्रदर्शित करने के लिए एक त्वरित-प्रारंभ ट्यूटोरियल है कि हम जावा और SOAP का एक साथ उपयोग कैसे कर सकते हैं। पहले भाग में, मैं SOAP की बुनियादी संरचना, अपाचे SOAP 2.2 की स्थापना, और जकार्ता टॉमकैट 3.2.1 के साथ कॉन्फ़िगरेशन समस्याओं को कवर करूंगा और एक बहुत ही बुनियादी SOAP एप्लिकेशन को विकसित, तैनात और निष्पादित करूंगा। श्रृंखला के भाग 2 में, मैं एक अधिक जटिल जावा बीन आधारित SOAP सेवा विकसित करूंगा और भाग 3 में, मैं आपको SOAP के अन्य जटिल पहलुओं के बारे में एक विचार दूंगा। तो फिर, चलिए शुरू करते हैं।
SOAP की शारीरिक रचना
सिंपल ऑब्जेक्ट एक्सेस प्रोटोकॉल या SOAP मूल रूप से विकेंद्रीकृत और वितरित वातावरण में संरचित जानकारी के आदान-प्रदान के लिए एक बहुत ही सरल और हल्का तंत्र प्रदान करने के लिए डिज़ाइन किया गया है। यह संक्षेप में एक मानकीकृत XML प्रारूप में डेटा एन्कोडिंग के लिए एक मॉडल है जिसका उपयोग मैसेजिंग और रिमोट प्रोसीजर कॉल (आरपीसी) जैसी विभिन्न स्थितियों में किया जाता है। SOAP में तीन आवश्यक भाग होते हैं:
- लिफाफा: यह XML एन्कोडेड SOAP संदेश में शीर्ष-स्तरीय XML तत्व या मूल तत्व है। लिफाफे में संदेश के प्राप्तकर्ता, संदेश की सामग्री और संदेश के प्रसंस्करण निर्देश के रूप में निम्नलिखित जानकारी शामिल है या आवश्यक रूप से हो सकती है।
- एन्कोडिंग नियम: एन्कोडिंग नियम उस तरीके को निर्दिष्ट करते हैं जिससे एप्लिकेशन-परिभाषित डेटा-प्रकार के उदाहरणों का आदान-प्रदान किया जाएगा।
- आरपीसी: रिमोट प्रोसीजर कॉल या आरपीसी अभ्यावेदन रिमोट प्रोसीजर कॉल और उन पर प्रतिक्रियाओं का प्रतिनिधित्व करने के लिए एक सम्मेलन को परिभाषित करता है।
SOAP संदेश के तीन भागों को समझने के लिए आइए एक उदाहरण SOAP संदेश पर विचार करें:
POST /StockQuote HTTP/1.1 होस्ट: www.stockquoteserver.com सामग्री-प्रकार: text/xml; charset='utf-8'सामग्री-लंबाई: nnnn SOAPAction:'कुछ-यूआरआई' जिले
उपरोक्त उदाहरण HTTP अनुरोध बाइंडिंग में एक विशिष्ट SOAP संदेश दिखाता है। लिफ़ाफ़ा तत्व को किसी भी अन्य एप्लिकेशन-विशिष्ट पहचानकर्ताओं से अलग करने के लिए नेमस्पेस-योग्य (SOAP-ENV) है। इस तत्व में नेमस्पेस एन्कोडिंग के बारे में भी जानकारी है। इस उदाहरण में लिफ़ाफ़े का निकटतम शिशु तत्व शारीरिक तत्व है। यह तत्व एक SOAP संदेश में मौजूद होना चाहिए और इसमें रिमोट प्रोसीजर (GetLastTraderPrice) के नाम के बारे में जानकारी होनी चाहिए और यह रिमोट प्रोसीजर के लिए आवश्यक मापदंडों को एन्कोड भी करता है। इस विशेष संदेश में, दूरस्थ प्रक्रिया के लिए उस कंपनी (डीआईएस) के नाम की आवश्यकता होती है जिससे अंतिम व्यापार मूल्य प्राप्त किया जा सके। वैकल्पिक रूप से, बॉडी तत्व में आरपीसी के दौरान हुई किसी भी त्रुटि के बारे में जानकारी होती है और इसे फॉल्ट तत्व में एन्कोड किया जाता है। फॉल्ट तत्व में SOAP संदेश के साथ त्रुटि/स्थिति की जानकारी होती है और यदि मौजूद है तो यह बॉडी तत्व के चाइल्ड तत्व के रूप में केवल एक बार दिखाई दे सकता है।
SOAP संदेशों के जटिल मामलों में, लिफ़ाफ़ा तत्व में हेडर नामक एक अन्य चाइल्ड तत्व शामिल हो सकता है। यदि यह तत्व SOAP लिफाफे में मौजूद है तो यह लिफाफा तत्व का निकटतम बच्चा होना चाहिए। हेडर तत्व आमतौर पर प्रमाणीकरण, लेनदेन प्रबंधन आदि के बारे में जानकारी रख सकता है, लेकिन हमारे विशेष उदाहरण में, हम इस हेडर जानकारी का उपयोग नहीं करेंगे। इसी प्रकार, एक SOAP रिस्पांस दस्तावेज़ में एक समान संरचना होगी।
HTTP/1.1 200 ठीक सामग्री-प्रकार: टेक्स्ट/xml; charset='utf-8'सामग्री-लंबाई: nnnn 34.5
लिफाफा तत्व में बॉडी तत्व होता है, जिसमें बदले में अनुरोधित जानकारी या गलती स्ट्रिंग शामिल होती है, सेवा कॉल के दौरान कोई गलती उत्पन्न होनी चाहिए।
पर्यावरण की स्थापना
SOAP संस्करण 2.2 का बाइनरी वितरण डाउनलोड करने के बाद, इसे अपने सिस्टम के किसी फ़ोल्डर में अनपैक करें। हालाँकि SOAP किसी भी सर्वलेट/JSP कंटेनर के साथ काम कर सकता है, हम अपने मॉडल के लिए जकार्ता टॉमकैट 3.2.1 चुनेंगे। एक बार जब आपके सिस्टम में टॉमकैट सेटअप हो जाए,
- अपने साबुन इंस्टॉलेशन की /lib निर्देशिका पर जाएं और साबुन.जर फ़ाइल को टॉमकैट इंस्टॉलेशन की /lib निर्देशिका में कॉपी करें।
- xerces.jar फ़ाइल प्राप्त करें और इसे टॉमकैट इंस्टॉलेशन की /lib निर्देशिका में रखें। अब यहाँ एक मुद्दा है. टॉमकैट पहले से ही एक parser.jar और jaxp.jar के साथ आता है। इसलिए नव स्थापित xerces.jar के साथ संभावित विरोध होगा। इससे बचने के लिए:
- Tomcat.bat फ़ाइल को संपादित करें और उस अनुभाग पर जाएँ जहाँ क्लासपाथ सेट किया जा रहा है। उनके सामने xerces.jar का क्लासपाथ रखें ताकि xerces.jar क्लासपाथ में पहले लोड हो जाए।
- SOAP.war फ़ाइल को SOAP बाइनरी वितरण की lib निर्देशिका से रखें और इसे tomcat की /webapps निर्देशिका में रखें। एक बार जब आप टॉमकैट को पुनरारंभ करेंगे, तो यह साबुन.वार फ़ाइल विस्तारित हो जाएगी।
- अब टॉमकैट को पुनरारंभ करें।
इसके अलावा आप सेवाओं को तैनात और प्रबंधित करने के लिए कमांड-लाइन उपयोगिता का उपयोग कर सकते हैं और SOAP क्लाइंट भी चला सकते हैं जिसे हम विकसित करेंगे, सिस्टम क्लासस्पैट पर्यावरण चर में निम्नलिखित .jar फ़ाइलें शामिल होनी चाहिए:
- साबुन.जार
- सक्रियण.jar
- मेल.जार
- xerces.jar







![नए फोन [एंड्रॉइड या आईफोन] में डेटा ट्रांसफर करने के 7 आसान तरीके फोन टू फोन ट्रांसफर](https://www.jguru.com/wp-content/uploads/2026/01/word-image-116310-1-e1768996905264-100x70.jpeg)