एक्सएमएल डब्लूएसडीएल
- WSDL,वेब सेवा विवरण भाषा के लिए खड़ा है
- WSDL का उपयोग वेब सेवाओं का वर्णन करने के लिए किया जाता है
- WSDL XML में लिखा जाता है
- WSDL 26. जून 2007 से W3C अनुशंसा है
डब्लूएसडीएल दस्तावेज़
एक डब्लूएसडीएल दस्तावेज़ एक वेब सेवा का वर्णन करता है। यह इन प्रमुख तत्वों का उपयोग करते हुए सेवा के स्थान और सेवा के तरीकों को निर्दिष्ट करता है:
Element | Description |
---|---|
<types> | Defines the (XML Schema) data types used by the web service |
<message> | Defines the data elements for each operation |
<portType> | Describes the operations that can be performed and the messages involved. |
<binding> | Defines the protocol and data format for each port type |
डब्लूएसडीएल दस्तावेज़ की मुख्य संरचना इस तरह दिखती है:
<definitions>
<types>
data type definitions........
</types>
<message>
definition of the data being communicated....
</message>
<portType>
set of operations......
</portType>
<binding>
protocol and data format specification....
</binding>
</definitions>
डब्लूएसडीएल उदाहरण
यह डब्लूएसडीएल दस्तावेज़ का एक सरलीकृत अंश है:
<message name="getTermRequest">
<part name="term" type="xs:string"/>
</message>
<message name="getTermResponse">
<part name="value" type="xs:string"/>
</message>
<portType name="glossaryTerms">
<operation name="getTerm">
<input message="getTermRequest"/>
<output message="getTermResponse"/>
</operation>
</portType>
इस उदाहरण में <portType> तत्व "शब्दावली शर्तों" को एक पोर्ट के नाम के रूप में परिभाषित करता है , और "getTerm" को एक ऑपरेशन के नाम के रूप में परिभाषित करता है ।
"गेटटर्म" ऑपरेशन में "getTermRequest" नामक एक इनपुट संदेश और "getTermResponse" नामक एक आउटपुट संदेश होता है।
<message> तत्व प्रत्येक संदेश के भागों और संबंधित डेटा प्रकारों को परिभाषित करते हैं।
<पोर्ट टाइप> एलिमेंट
<portType> तत्व एक वेब सेवा को परिभाषित करता है , जो संचालन किया जा सकता है, और जो संदेश शामिल हैं।
अनुरोध-प्रतिक्रिया प्रकार सबसे आम ऑपरेशन प्रकार है, लेकिन डब्लूएसडीएल चार प्रकारों को परिभाषित करता है:
Type | Definition |
---|---|
One-way | The operation can receive a message but will not return a response |
Request-response | The operation can receive a request and will return a response |
Solicit-response | The operation can send a request and will wait for a response |
Notification | The operation can send a message but will not wait for a response |
डब्लूएसडीएल वन-वे ऑपरेशन
एकतरफा संचालन उदाहरण:
<message name="newTermValues">
<part name="term" type="xs:string"/>
<part name="value" type="xs:string"/>
</message>
<portType name="glossaryTerms">
<operation name="setTerm">
<input name="newTerm" message="newTermValues"/>
</operation>
</portType >
ऊपर के उदाहरण में, पोर्ट टाइप "शब्दावली टर्म्स" "सेटटर्म" नामक एकतरफा ऑपरेशन को परिभाषित करता है।
"सेटटर्म" ऑपरेशन इनपुट पैरामीटर "टर्म" और "वैल्यू" के साथ "न्यूटर्मवैल्यूज" संदेश का उपयोग करके नए शब्दावली शब्द संदेशों के इनपुट की अनुमति देता है। हालांकि, ऑपरेशन के लिए कोई आउटपुट परिभाषित नहीं किया गया है।
WSDL अनुरोध-प्रतिक्रिया संचालन
एक अनुरोध-प्रतिक्रिया ऑपरेशन उदाहरण:
<message name="getTermRequest">
<part name="term" type="xs:string"/>
</message>
<message name="getTermResponse">
<part name="value" type="xs:string"/>
</message>
<portType name="glossaryTerms">
<operation name="getTerm">
<input message="getTermRequest"/>
<output message="getTermResponse"/>
</operation>
</portType>
ऊपर के उदाहरण में, पोर्ट टाइप "शब्दावली टर्म्स" एक अनुरोध-प्रतिक्रिया ऑपरेशन को परिभाषित करता है जिसे "गेटटर्म" कहा जाता है।
"गेटटर्म" ऑपरेशन के लिए "टर्म" नामक पैरामीटर के साथ "getTermRequest" नामक एक इनपुट संदेश की आवश्यकता होती है, और "वैल्यू" नामक पैरामीटर के साथ "getTermResponse" नामक आउटपुट संदेश लौटाएगा।
WSDL SOAP के लिए बाध्यकारी
WSDL बाइंडिंग एक वेब सेवा के लिए संदेश प्रारूप और प्रोटोकॉल विवरण को परिभाषित करता है।
एक अनुरोध-प्रतिक्रिया ऑपरेशन उदाहरण:
<message name="getTermRequest">
<part name="term" type="xs:string"/>
</message>
<message name="getTermResponse">
<part name="value" type="xs:string"/>
</message>
<portType name="glossaryTerms">
<operation name="getTerm">
<input message="getTermRequest"/>
<output message="getTermResponse"/>
</operation>
</portType>
<binding type="glossaryTerms" name="b1">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<operation>
<soap:operation
soapAction="http://example.com/getTerm"/>
<input><soap:body use="literal"/></input>
<output><soap:body use="literal"/></output>
</operation>
</binding>
बाध्यकारी तत्व की दो विशेषताएं हैं - नाम और प्रकार।
नाम विशेषता (आप अपने इच्छित किसी भी नाम का उपयोग कर सकते हैं) बाध्यकारी के नाम को परिभाषित करता है, और प्रकार विशेषता बाध्यकारी के लिए बंदरगाह को इंगित करती है, इस मामले में "शब्दावली शर्तें" बंदरगाह।
साबुन:बाध्यकारी तत्व की दो विशेषताएं हैं - शैली और परिवहन।
शैली विशेषता "आरपीसी" या "दस्तावेज़" हो सकती है। इस मामले में हम दस्तावेज़ का उपयोग करते हैं। परिवहन विशेषता उपयोग करने के लिए SOAP प्रोटोकॉल को परिभाषित करती है। इस मामले में हम HTTP का उपयोग करते हैं।
ऑपरेशन तत्व प्रत्येक ऑपरेशन को परिभाषित करता है जिसे पोर्ट टाइप उजागर करता है।
प्रत्येक ऑपरेशन के लिए संबंधित SOAP क्रिया को परिभाषित किया जाना है। आपको यह भी निर्दिष्ट करना होगा कि इनपुट और आउटपुट कैसे एन्कोड किए गए हैं। इस मामले में हम "शाब्दिक" का उपयोग करते हैं।