XSD और WSDL में क्या अंतर है


178

एक बीच क्या अंतर है XML Schemaऔर WSDL?

मैंने जो अंतर देखा है, वह WSDLइसमें शामिल है XSDऔर WSDLहम संचालन की घोषणा कर सकते हैं, लेकिन अंदर नहीं XSD। क्या वो सही है?

जवाबों:


177

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

WSDL एक XML दस्तावेज़ है जो एक वेब सेवा का वर्णन करता है। यह दिखाता है कि कौन से ऑपरेशन उपलब्ध हैं और उन ऑपरेशनों को भेजने के लिए डेटा को कैसे संरचित किया जाना चाहिए।

डब्लूएसडीएल दस्तावेजों में एक संबद्ध एक्सएसडी है जो दिखाता है कि डब्लूएसडीएल दस्तावेज़ में क्या मान्य है।


15
पाओलो जवाब सही है। बस इसे बढ़ा रहे हैं। जैसा कि WSDL वास्तव में XML है और इसकी संरचना को मान्य करने के लिए XSD हो भी सकता है और नहीं भी। एसोसिएटेड XSD एक अलग फ़ाइल हो सकती है और WSDL में आयात की जा सकती है या पूर्ण XSD को WSDL फ़ाइल में <WSDL: टाइप> टैग का उपयोग करके इनलाइन एम्बेड किया जा सकता है। अधिक जानकारी के लिए ibm.com/developerworks/webservices/library/ws-tip-imports
supernova

यदि वे दो अलग-अलग चीजें हैं, तो ऐसा क्यों है कि जब मैं उदाहरण के लिए, नेटबीन्स में एक वेब सेवा बनाता हूं, तो मुझे ?xsd=1स्वचालित रूप से URL मिल जाता है?
कोडीबगस्टीन

212

डब्लूएसडीएल (वेब सेवा विवरण भाषा) आपकी सेवा और उसके कार्यों का वर्णन करता है - सेवा को क्या कहा जाता है, यह किन विधियों की पेशकश करती है, इन विधियों में किस तरह के पैरामीटर और रिटर्न मान हैं?

यह सेवा के व्यवहार का विवरण है - यह कार्यशीलता है।

XSD (Xml स्कीमा परिभाषा) उन सेवा विधियों द्वारा बदले जा रहे जटिल डेटा प्रकारों की स्थिर संरचना का वर्णन करता है। यह उन क्षेत्रों के प्रकार, उनके क्षेत्र, किसी भी प्रतिबंध का वर्णन करता है (जैसे अधिकतम लंबाई या एक रेगेक्स पैटर्न) और इसके आगे।

यह डेटाटाइप्स और इस प्रकार सेवा के स्थिर गुणों का विवरण है - यह डेटा के बारे में है।


25
डब्लूएसडीएल के संदर्भ में एक्सएसडी समझाने के लिए यह एक बेहतर जवाब है और दोनों के बीच अंतर नहीं है। जोड़ने के लिए, एक्सएसडी परिभाषाएँ <wsdl: टाइप> टैग में डब्ल्यूएसडीएल का हिस्सा हैं।
एयरबॉस

अगर मैं जटिल डेटा परिभाषा की जरूरत नहीं है तो मैं एक XSD के बिना एक WSDL हो सकता है?
Esseara

61

XSD: XML स्कीमा परिभाषा।

XML: eXtensible Markup भाषा।

डब्ल्यूएसडीएल: वेब सेवा परिभाषा भाषा।

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

दो अलग-अलग अनुप्रयोगों के बीच संवाद करना आसान नहीं है जो दो अलग-अलग तकनीकों का उपयोग करके विकसित किए गए हैं। उदाहरण के लिए, शिकागो में एक कंपनी जावा का उपयोग करके एक वेब एप्लिकेशन विकसित कर सकती है और न्यूयॉर्क में एक अन्य कंपनी C # में एक एप्लिकेशन विकसित कर सकती है और जब इन दोनों कंपनियों ने जानकारी साझा करने का निर्णय लिया है तो XML तस्वीर में आता है। यह दो अलग-अलग अनुप्रयोगों के बीच डेटा को स्टोर और ट्रांसपोर्ट करने में मदद करता है जो विभिन्न तकनीकों का उपयोग करके विकसित किए जाते हैं। नोट: यह एक प्रोग्रामिंग भाषा तक सीमित नहीं है, कृपया दो अलग-अलग ऐप के बीच सूचना परिवहन पर शोध करें।

XSD एक स्कीमा परिभाषा है। इसके द्वारा मेरा क्या मतलब है, यह उपयोगकर्ताओं को अपने XML को इस तरह के स्कीमा में विकसित करने के लिए कह रहा है। कृपया छवियों के नीचे देखें, और कृपया "लोड-ऑन-स्टार्टअप" तत्व और इसके प्रकार के साथ निकटता से देखें जो पूर्णांक है। XSD छवि में आप देख सकते हैं कि यह "लोड-ऑन-स्टार्टअप" के लिए पूर्णांक मान है और इसलिए जब उपयोगकर्ता ने अपना XML बनाया, तो उन्होंने उस विशेष तत्व का एक अंतर मान पारित किया। एक अनुस्मारक के रूप में, XSD एक स्कीमा और शैली है, जबकि XML एक अन्य अनुप्रयोग या सिस्टम के साथ संवाद करने का एक रूप है। किसी को एक्सएसडी को देखना है और इस तरह से एक्सएमएल बनाना है अन्यथा यह किसी अन्य एप्लिकेशन या सिस्टम के साथ संचार नहीं करेगा जिसे एक अलग तकनीक के साथ विकसित किया गया है। शिकागो की एक कंपनी टेक्सास में एक कंपनी के लिए XSD टेम्प्लेट में दिए गए XSD प्रारूप में अपने XML को लिखने या उत्पन्न करने के लिए प्रदान करती है। अगर टेक्सास में कंपनी उन नियमों या XSD में वर्णित स्कीमा का पालन करने में विफल रही, तो शिकागो में कंपनी से सही जानकारी की उम्मीद करना असंभव है। उपरोक्त कही गई कहानी के बाद ऐसा करने के लिए बहुत कुछ है, जिसे एक शौकिया या नौसिखिया को जानना होगा, जबकि मैंने ऊपर कहा गया है। यदि आप वास्तव में जानना चाहते हैं कि बाद में क्या होता है तो वरिष्ठ सॉफ्टवेयर इंजीनियरों के साथ बैठना बेहतर होता है जिन्होंने वास्तव में वेब सेवाओं का विकास किया है। अगला डब्ल्यूएसडीएल आता है, कृपया छवियों का पालन करें और यह पता लगाने की कोशिश करें कि डब्ल्यूएसडीएल कहां फिट होगा। यदि आप वास्तव में जानना चाहते हैं कि बाद में क्या होता है तो वरिष्ठ सॉफ्टवेयर इंजीनियरों के साथ बैठना बेहतर होता है जिन्होंने वास्तव में वेब सेवाओं का विकास किया है। अगला डब्ल्यूएसडीएल आता है, कृपया छवियों का पालन करें और यह पता लगाने की कोशिश करें कि डब्ल्यूएसडीएल कहां फिट होगा। यदि आप वास्तव में जानना चाहते हैं कि बाद में क्या होता है तो वरिष्ठ सॉफ्टवेयर इंजीनियरों के साथ बैठना बेहतर होता है जिन्होंने वास्तव में वेब सेवाओं का विकास किया है। अगला डब्ल्यूएसडीएल आता है, कृपया छवियों का पालन करें और यह पता लगाने की कोशिश करें कि डब्ल्यूएसडीएल कहां फिट होगा।

*************** ======== नीचे आंशिक XML छवि है ========== ************ *** XML छवि आंशिक

*************** ======== नीचे आंशिक XSD छवि है ========== ************ ***

XSD छवि आंशिक

*************** ======== नीचे आंशिक WSDL छवि है ======= *************

WSDL छवि आंशिक

मुझे बुक नामक वेब सेवा के लिए एक नमूना WSDL बनाना था। ध्यान दें, यह एक एक्सएसडी है लेकिन आपको इसे डब्ल्यूएसडीएल (वेब ​​सर्विस डेफिनिशन लैंग्वेज) कहना होगा क्योंकि यह वेब सेवाओं के लिए बहुत विशिष्ट है। उपरोक्त WSDL (या दूसरे शब्दों में XSD) Book.java नामक वर्ग के लिए बनाया गया है और इसने SOAP सेवा बनाई है। SOAP वेब सेवा कैसे बनाई गई यह एक अलग विषय है। एक को जावा क्लास लिखना पड़ता है और इसे निष्पादित करने से पहले वेब सेवा के रूप में बनाना होता है जिससे उपयोगकर्ता को यह सुनिश्चित करना होता है कि एक्सिस 2 एपीआई स्थापित किया गया है और वेब सेवा की मेजबानी के लिए टोमाट जगह पर है।

एक सर्विसर के रूप में (वह जो दूसरों (क्लाइंट्स) को अपने सिस्टम से जानकारी या डेटा एक्सेस करने की अनुमति देता है) वास्तव में क्लाइंट को देता है (जिसे सर्वर की जानकारी या डेटा का उपयोग करने की आवश्यकता होती है) एक वेब सेवा के माध्यम से डेटा तक पूरी पहुंच, क्योंकि कोई भी कंपनी पृथ्वी बाहरी लोगों के लिए अपने डेटाबेस को उजागर करने को तैयार है। मेरी कंपनी की तरह, वेब सेवाओं के माध्यम से उत्पादों के बारे में कुछ जानकारी देने का फैसला किया है, इसलिए हमें अपने कुछ ग्राहकों को एक्सएसडी टेम्पलेट और पास-ऑन बनाना होगा जो हमारे साथ काम करना चाहते हैं। उन्हें दिए गए एक्सएसडी का पूरा उपयोग करने के लिए कुछ कोड लिखना होगा और वेब सर्विस कॉल को सर्वर से डेटा प्राप्त करने के लिए और डेटा को अपनी उपयुक्त आवश्यकता में परिवर्तित करना होगा और फिर अपनी वेबसाइट पर उत्पाद के बारे में डेटा या जानकारी प्रदर्शित या प्रकाशित करना होगा। एक साधारण उदाहरण फ्लाइट टिकट बुकिंग होगा। एक एयरलाइन टिकट बिक्री के लिए तीसरे पक्ष को अपनी साइट पर उड़ान डेटा का उपयोग करने देगा। लेकिन फिर से इसमें बहुत कुछ है, यह सिर्फ तीसरे पक्ष के फ्लाइट टिकट एजेंट को टिकट बेचने की अनुमति नहीं दे रहा है, जगह में सिंक्रनाइज़ और सुरक्षा होगी। यदि कोई सिंक नहीं है तो 100% संभावना है 1 ग्राहक विभिन्न स्रोतों से एक ही उड़ान टिकट खरीद सकता है।

मुझे उम्मीद है कि विशेषज्ञ मेरे जवाब में योगदान देंगे। यह नौसिखिया या नौसिखिए के लिए एक्सएमएल, एक्सएसडी को समझने और फिर वेब सेवाओं पर काम करने के लिए वास्तव में कठिन है।


कम से कम इसने मुझे संकेत दिया कि ये तकनीकें कैसे काम करती हैं
MbaiMburu

10

XSD दस्तावेज़ को मान्य करने के लिए है, और इसमें XML के बारे में मेटाडेटा है जबकि WSDL में वेबसर्वर स्थान और संचालन का वर्णन करना है।


3

XSD (XML स्कीमा परिभाषा) XML दस्तावेज़ में तत्व को परिभाषित करता है। यह सत्यापित करने के लिए इस्तेमाल किया जा सकता है कि क्या xml दस्तावेज़ में तत्व उस विवरण का पालन करते हैं जिसमें सामग्री को रखा जाना है। जबकि wsdl एक विशिष्ट प्रकार का XML दस्तावेज़ है जो वेब सेवा का वर्णन करता है। WSDL खुद एक XSD का पालन करता है।


1

डब्लूएसडीएल - इसमें ऑपरेशन जैसे तरीके शामिल हैं जो एक वेबसर्विस प्रदान करता है। और ये विधि सरल डेटा प्रकारों जैसे कि इंट, फ्लोट आदि और जटिल डेटा प्रकारों जैसे ऑब्जेक्ट्स, वैक्टर, एरेज़ इत्यादि को स्वीकार कर सकती है, इसलिए इसे मैप करने के लिए एक एक्सएटी डेटाटाइप xsd में हैं। उपयोग किया गया। और xsd के आधार पर एक उपयोगकर्ता जो विभिन्न प्लेटफॉर्म से webservice को अर्जित करना चाहता है, डेटा को उचित रूप से प्रदान कर सकता है।

संदर्भ: ayazroomy-java.blogspot.com वेबसर्वर की मूल बातें पढ़ने के लिए।


0

WSDL फ़ाइल के लिए XSD स्कीमा है। WSDL के लिए XSD में डेटाटाइप होते हैं। XSD में घोषित तत्व WSDL फ़ाइल में उपयोग करने के लिए वैध है। वेब सेवा WSDL मान्य है या नहीं, इसकी जांच के लिए हम XSD के विरुद्ध WSDL की जाँच कर सकते हैं।


0

यदि कोई व्यक्ति सादृश्य की तलाश में है, तो यह उत्तर मददगार हो सकता है।

WSDL mysql में 'SHOW TABLE STATUS' कमांड की तरह है। यह सभी तत्वों (रिक्वेस्ट टाइप, रिस्पांस टाइप, URL टू हिट रिक्वेस्ट आदि) को परिभाषित करता है, जो XML का हिस्सा होना चाहिए। परिभाषा से मेरा मतलब है: 1) अनुरोध या प्रतिक्रिया के नाम 2) इनपुट के रूप में क्या व्यवहार किया जाना चाहिए, आउटपुट के रूप में क्या माना जाना चाहिए।

XSD mysql में DESCRIBE कमांड की तरह है। यह बताता है कि सभी चर और उनके प्रकार, एक अनुरोध और प्रतिक्रिया क्या है।


DESC mysql में सॉर्ट क्रम के लिए उपयोग नहीं किया गया है? DESCRIBE हालांकि इसे अधिक पसंद है।
मंगल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.