एक्सएमएल ट्यूटोरियल

एक्सएमएल होम एक्सएमएल परिचय एक्सएमएल कैसे इस्तेमाल करें एक्सएमएल ट्री एक्सएमएल सिंटैक्स एक्सएमएल तत्व एक्सएमएल गुण एक्सएमएल नेमस्पेस एक्सएमएल डिस्प्ले एक्सएमएल एचटीपीअनुरोध एक्सएमएल पार्सर एक्सएमएल डोम एक्सएमएल XPath एक्सएमएल एक्सएसएलटी एक्सएमएल XQuery एक्सएमएल एक्सलिंक एक्सएमएल सत्यापनकर्ता एक्सएमएल डीटीडी एक्सएमएल स्कीमा एक्सएमएल सर्वर एक्सएमएल उदाहरण एक्सएमएल प्रश्नोत्तरी एक्सएमएल प्रमाणपत्र

एक्सएमएल अजाक्स

AJAX परिचय अजाक्स एक्सएमएलएचटीपी अजाक्स अनुरोध अजाक्स प्रतिक्रिया अजाक्स एक्सएमएल फ़ाइल अजाक्स पीएचपी अजाक्स एएसपी AJAX डेटाबेस अजाक्स अनुप्रयोग अजाक्स उदाहरण

एक्सएमएल डोम

डोम परिचय डोम नोड्स डोम एक्सेसिंग डोम नोड जानकारी डोम नोड सूची डोम ट्रैवर्सिंग डोम नेविगेटिंग डोम मूल्य प्राप्त करें डोम चेंज नोड्स डोम नोड्स निकालें डोम नोड्स बदलें डोम नोड्स बनाएं डोम नोड्स जोड़ें डोम क्लोन नोड्स डोम उदाहरण

XPath ट्यूटोरियल

XPath परिचय XPath नोड्स XPath सिंटैक्स XPath अक्ष XPath ऑपरेटर्स XPath उदाहरण

एक्सएसएलटी ट्यूटोरियल

एक्सएसएलटी परिचय एक्सएसएल भाषाएं एक्सएसएलटी ट्रांसफॉर्म एक्सएसएलटी <टेम्पलेट> एक्सएसएलटी <मूल्य का> एक्सएसएलटी <प्रत्येक के लिए> एक्सएसएलटी <सॉर्ट> एक्सएसएलटी <अगर> एक्सएसएलटी <चुनें> एक्सएसएलटी लागू करें क्लाइंट पर एक्सएसएलटी सर्वर पर एक्सएसएलटी एक्सएसएलटी एक्सएमएल संपादित करें एक्सएसएलटी उदाहरण

XQuery ट्यूटोरियल

XQuery परिचय XQuery उदाहरण XQuery FLWOR XQuery एचटीएमएल XQuery शर्तें XQuery सिंटैक्स XQuery जोड़ें XQuery चुनें XQuery कार्य

एक्सएमएल डीटीडी

डीटीडी परिचय डीटीडी बिल्डिंग ब्लॉक्स डीटीडी तत्व डीटीडी गुण DTD एलिमेंट्स बनाम Attr डीटीडी इकाइयां डीटीडी उदाहरण

एक्सएसडी स्कीमा

एक्सएसडी परिचय एक्सएसडी कैसे करें एक्सएसडी <स्कीमा> एक्सएसडी तत्व एक्सएसडी गुण एक्सएसडी प्रतिबंध

एक्सएसडी कॉम्प्लेक्स

एक्सएसडी तत्व एक्सएसडी खाली केवल एक्सएसडी तत्व केवल एक्सएसडी पाठ एक्सएसडी मिश्रित एक्सएसडी संकेतक एक्सएसडी <कोई भी> एक्सएसडी <anyAttribute> एक्सएसडी प्रतिस्थापन एक्सएसडी उदाहरण

एक्सएसडी डेटा

एक्सएसडी स्ट्रिंग एक्सएसडी तिथि एक्सएसडी न्यूमेरिक एक्सएसडी विविध एक्सएसडी संदर्भ

वेब सेवाएं

एक्सएमएल सेवाएं एक्सएमएल डब्लूएसडीएल एक्सएमएल साबुन एक्सएमएल आरडीएफ एक्सएमएल आरएसएस

संदर्भ

डोम नोड प्रकार डोम नोड डोम नोडसूची डोम नेम नोडमैप डोम दस्तावेज़ डोम तत्व डोम विशेषता डोम टेक्स्ट डोम सीडीएटीए डोम टिप्पणी डोम एक्सएमएलएचटीटीपीअनुरोध डोम पार्सर एक्सएसएलटी तत्व एक्सएसएलटी/XPath फ़ंक्शंस

एक्सएमएल साबुन


  • SOAP का अर्थ है S इम्पल O bject A एक्सेस पी रोटोकॉल
  • SOAP एक एप्लीकेशन कम्युनिकेशन प्रोटोकॉल है
  • SOAP संदेश भेजने और प्राप्त करने का एक प्रारूप है
  • SOAP प्लेटफ़ॉर्म स्वतंत्र है
  • SOAP XML पर आधारित है
  • SOAP एक W3C अनुशंसा है

साबुन क्यों?

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

अनुप्रयोगों के बीच संचार करने का सबसे अच्छा तरीका HTTP है, क्योंकि HTTP सभी इंटरनेट ब्राउज़र और सर्वर द्वारा समर्थित है। इसे पूरा करने के लिए SOAP बनाया गया था।

SOAP विभिन्न तकनीकों और प्रोग्रामिंग भाषाओं के साथ विभिन्न ऑपरेटिंग सिस्टम पर चल रहे अनुप्रयोगों के बीच संवाद करने का एक तरीका प्रदान करता है।


SOAP बिल्डिंग ब्लॉक्स

SOAP संदेश एक साधारण XML दस्तावेज़ है जिसमें निम्नलिखित तत्व होते हैं:

  • एक लिफाफा तत्व जो XML दस्तावेज़ को SOAP संदेश के रूप में पहचानता है
  • एक शीर्षलेख तत्व जिसमें शीर्षलेख जानकारी होती है
  • एक शारीरिक तत्व जिसमें कॉल और प्रतिक्रिया की जानकारी होती है
  • त्रुटियों और स्थिति की जानकारी वाला एक दोष तत्व

उपरोक्त सभी तत्व SOAP लिफाफे के लिए डिफ़ॉल्ट नाम स्थान में घोषित किए गए हैं:

http://www.w3.org/2003/05/soap-envelope/

और SOAP एन्कोडिंग और डेटा प्रकारों के लिए डिफ़ॉल्ट नाम स्थान है:

http://www.w3.org/2003/05/soap-encoding


सिंटैक्स नियम

यहाँ कुछ महत्वपूर्ण वाक्य रचना नियम दिए गए हैं:

  • एक SOAP संदेश को XML का उपयोग करके एन्कोड किया जाना चाहिए
  • SOAP संदेश को SOAP लिफ़ाफ़ा नाम स्थान का उपयोग करना चाहिए
  • SOAP संदेश में DTD संदर्भ नहीं होना चाहिए
  • SOAP संदेश में XML संसाधन निर्देश नहीं होने चाहिए


कंकाल साबुन संदेश

<?xml version="1.0"?>

<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope/"
soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding">

<soap:Header>
...
</soap:Header>

<soap:Body>
...
  <soap:Fault>
  ...
  </soap:Fault>
</soap:Body>

</soap:Envelope>

साबुन लिफाफा तत्व

आवश्यक SOAP लिफाफा तत्व SOAP संदेश का मूल तत्व है। यह तत्व XML दस्तावेज़ को SOAP संदेश के रूप में परिभाषित करता है।

उदाहरण

<?xml version="1.0"?>

<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope/"
soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
  ...
  Message information goes here
  ...
</soap:Envelope>

xmlns:साबुन नेमस्पेस

ऊपर दिए गए उदाहरण में xmlns: साबुन नामस्थान पर ध्यान दें। इसका हमेशा यह मान होना चाहिए: "http://www.w3.org/2003/05/soap-envelope/"।

नाम स्थान लिफ़ाफ़े को SOAP लिफ़ाफ़े के रूप में परिभाषित करता है।

यदि एक अलग नाम स्थान का उपयोग किया जाता है, तो एप्लिकेशन एक त्रुटि उत्पन्न करता है और संदेश को त्याग देता है।


एन्कोडिंग शैली विशेषता

एन्कोडिंग स्टाइल विशेषता का उपयोग दस्तावेज़ में उपयोग किए जाने वाले डेटा प्रकारों को परिभाषित करने के लिए किया जाता है। यह विशेषता किसी भी SOAP तत्व पर प्रकट हो सकती है, और तत्व की सामग्री और सभी बाल तत्वों पर लागू होती है।

SOAP संदेश में कोई डिफ़ॉल्ट एन्कोडिंग नहीं होती है।

वाक्य - विन्यास

soap:encodingStyle="URI"

उदाहरण

<?xml version="1.0"?>

<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope/"
soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
  ...
  Message information goes here
  ...
</soap:Envelope>

SOAP हैडर एलिमेंट

वैकल्पिक SOAP हैडर तत्व में SOAP संदेश के बारे में एप्लिकेशन-विशिष्ट जानकारी (जैसे प्रमाणीकरण, भुगतान, आदि) शामिल है।

यदि हैडर तत्व मौजूद है, तो यह लिफाफा तत्व का पहला चाइल्ड एलिमेंट होना चाहिए।

नोट: शीर्षलेख तत्व के सभी तत्काल बाल तत्व नामस्थान-योग्य होने चाहिए।

<?xml version="1.0"?>

<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope/"
soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding">

<soap:Header>
  <m:Trans xmlns:m="https://www.w3schools.com/transaction/"
  soap:mustUnderstand="1">234
  </m:Trans>
</soap:Header>
...
...
</soap:Envelope>

ऊपर दिए गए उदाहरण में "ट्रांस" एलिमेंट वाला हेडर, 1 के मान के साथ "मस्टअंडरस्टैंड" विशेषता और 234 का मान शामिल है।

SOAP डिफ़ॉल्ट नाम स्थान में तीन विशेषताओं को परिभाषित करता है। ये विशेषताएँ हैं: मस्टअंडरस्टैंड, अभिनेता और एन्कोडिंग स्टाइल।

SOAP हैडर में परिभाषित विशेषताएँ परिभाषित करती हैं कि प्राप्तकर्ता को SOAP संदेश को कैसे संसाधित करना चाहिए।


गुण को समझना चाहिए

SOAP मस्टअंडरस्टैंड विशेषता का उपयोग यह इंगित करने के लिए किया जा सकता है कि प्राप्तकर्ता को संसाधित करने के लिए हेडर प्रविष्टि अनिवार्य या वैकल्पिक है या नहीं।

यदि आप हैडर एलिमेंट के चाइल्ड एलिमेंट में मस्टअंडरस्टैंड = "1" जोड़ते हैं तो यह इंगित करता है कि हेडर को प्रोसेस करने वाले रिसीवर को एलिमेंट को पहचानना होगा। यदि रिसीवर तत्व को नहीं पहचानता है, तो हेडर को संसाधित करते समय यह विफल हो जाएगा।

वाक्य - विन्यास

soap:mustUnderstand="0|1"

उदाहरण

<?xml version="1.0"?>

<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope/"
soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding">

<soap:Header>
  <m:Trans xmlns:m="https://www.w3schools.com/transaction/"
  soap:mustUnderstand="1">234
  </m:Trans>
</soap:Header>
...
...
</soap:Envelope>

अभिनेता विशेषता

एक SOAP संदेश संदेश पथ के साथ विभिन्न समापन बिंदुओं को पार करके एक प्रेषक से एक रिसीवर तक जा सकता है। हालाँकि, SOAP संदेश के सभी भाग अंतिम समापन बिंदु के लिए अभिप्रेत नहीं हो सकते हैं, इसके बजाय, यह संदेश पथ पर एक या अधिक समापन बिंदुओं के लिए अभिप्रेत हो सकता है।

SOAP अभिनेता विशेषता का उपयोग हैडर तत्व को एक विशिष्ट समापन बिंदु पर संबोधित करने के लिए किया जाता है।

वाक्य - विन्यास

soap:actor="URI"

उदाहरण

<?xml version="1.0"?>

<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope/"
soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding">

<soap:Header>
  <m:Trans xmlns:m="https://www.w3schools.com/transaction/"
  soap:actor="https://www.w3schools.com/code/">234
  </m:Trans>
</soap:Header>
...
...
</soap:Envelope>

एन्कोडिंग शैली विशेषता

एन्कोडिंग स्टाइल विशेषता का उपयोग दस्तावेज़ में उपयोग किए जाने वाले डेटा प्रकारों को परिभाषित करने के लिए किया जाता है। यह विशेषता किसी भी SOAP तत्व पर दिखाई दे सकती है, और यह उस तत्व की सामग्री और सभी चाइल्ड तत्वों पर लागू होगी।

SOAP संदेश में कोई डिफ़ॉल्ट एन्कोडिंग नहीं होती है।

वाक्य - विन्यास

soap:encodingStyle="URI"

साबुन शरीर तत्व

आवश्यक SOAP बॉडी तत्व में संदेश के अंतिम समापन बिंदु के लिए लक्षित वास्तविक SOAP संदेश होता है।

SOAP बॉडी तत्व के तत्काल बाल तत्व नामस्थान-योग्य हो सकते हैं।

उदाहरण

<?xml version="1.0"?>

<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope/"
soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding">

<soap:Body>
  <m:GetPrice xmlns:m="https://www.w3schools.com/prices">
    <m:Item>Apples</m:Item>
  </m:GetPrice>
</soap:Body>

</soap:Envelope>

ऊपर दिया गया उदाहरण सेब की कीमत का अनुरोध करता है। ध्यान दें कि m:GetPrice और उपरोक्त आइटम तत्व एप्लिकेशन-विशिष्ट तत्व हैं। वे SOAP नामस्थान का हिस्सा नहीं हैं।

एक SOAP प्रतिक्रिया कुछ इस तरह दिख सकती है:

<?xml version="1.0"?>

<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope/"
soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding">

<soap:Body>
  <m:GetPriceResponse xmlns:m="https://www.w3schools.com/prices">
    <m:Price>1.90</m:Price>
  </m:GetPriceResponse>
</soap:Body>

</soap:Envelope>


साबुन दोष तत्व

वैकल्पिक SOAP दोष तत्व का उपयोग त्रुटि संदेशों को इंगित करने के लिए किया जाता है।

SOAP दोष तत्व SOAP संदेश के लिए त्रुटियाँ और स्थिति की जानकारी रखता है।

यदि कोई दोष तत्व मौजूद है, तो उसे शरीर तत्व के बाल तत्व के रूप में प्रकट होना चाहिए। एक SOAP संदेश में एक दोष तत्व केवल एक बार दिखाई दे सकता है।

SOAP दोष तत्व में निम्नलिखित उप तत्व हैं:

Sub Element Description
<faultcode> A code for identifying the fault
<faultstring> A human readable explanation of the fault
<faultactor> Information about who caused the fault to happen
<detail>

Holds application specific error information related to the Body element

SOAP दोष कोड

दोषों का वर्णन करते समय नीचे परिभाषित फॉल्टकोड मानों का उपयोग फॉल्टकोड तत्व में किया जाना चाहिए:

Error Description
VersionMismatch Found an invalid namespace for the SOAP Envelope element
MustUnderstand An immediate child element of the Header element, with the mustUnderstand attribute set to "1", was not understood
Client The message was incorrectly formed or contained incorrect information
Server There was a problem with the server so the message could not proceed

HTTP प्रोटोकॉल

HTTP टीसीपी/आईपी पर संचार करता है। एक HTTP क्लाइंट TCP का उपयोग करके एक HTTP सर्वर से जुड़ता है। कनेक्शन स्थापित करने के बाद, क्लाइंट सर्वर को एक HTTP अनुरोध संदेश भेज सकता है:

POST /item HTTP/1.1
Host: 189.123.255.239
Content-Type: text/plain
Content-Length: 200

सर्वर तब अनुरोध को संसाधित करता है और क्लाइंट को एक HTTP प्रतिक्रिया वापस भेजता है। प्रतिक्रिया में एक स्थिति कोड होता है जो अनुरोध की स्थिति को इंगित करता है:

200 OK
Content-Type: text/plain
Content-Length: 200

ऊपर के उदाहरण में, सर्वर ने 200 का स्थिति कोड लौटाया। यह HTTP के लिए मानक सफलता कोड है।

अगर सर्वर अनुरोध को डीकोड नहीं कर सका, तो वह कुछ इस तरह वापस कर सकता था:

400 Bad Request
Content-Length: 0

साबुन बंधन

SOAP विनिर्देश SOAP संदेशों की संरचना को परिभाषित करता है, न कि उनका आदान-प्रदान कैसे किया जाता है। इस अंतर को "SOAP बाइंडिंग" कहा जाता है। SOAP बाइंडिंग ऐसे तंत्र हैं जो परिवहन प्रोटोकॉल का उपयोग करके SOAP संदेशों को प्रभावी ढंग से आदान-प्रदान करने की अनुमति देते हैं।

अधिकांश SOAP कार्यान्वयन सामान्य परिवहन प्रोटोकॉल, जैसे HTTP या SMTP के लिए बाइंडिंग प्रदान करते हैं।

HTTP तुल्यकालिक और व्यापक रूप से उपयोग किया जाता है। एक SOAP HTTP अनुरोध कम से कम दो HTTP शीर्षलेख निर्दिष्ट करता है: सामग्री-प्रकार और सामग्री-लंबाई।

SMTP अतुल्यकालिक है और अंतिम उपाय या विशेष मामलों में उपयोग किया जाता है।

SOAP के जावा कार्यान्वयन आमतौर पर JMS (जावा मैसेजिंग सिस्टम) प्रोटोकॉल के लिए एक विशिष्ट बाइंडिंग प्रदान करते हैं।


सामग्री प्रकार

SOAP अनुरोध और प्रतिक्रिया के लिए सामग्री-प्रकार शीर्षलेख संदेश के लिए MIME प्रकार और अनुरोध या प्रतिक्रिया के XML निकाय के लिए उपयोग किए जाने वाले वर्ण एन्कोडिंग (वैकल्पिक) को परिभाषित करता है।

वाक्य - विन्यास

Content-Type: MIMEType; charset=character-encoding

उदाहरण

POST /item HTTP/1.1
Content-Type: application/soap+xml; charset=utf-8

कंटेंट की लम्बाई

SOAP अनुरोध और प्रतिक्रिया के लिए सामग्री-लंबाई शीर्षलेख अनुरोध या प्रतिक्रिया के मुख्य भाग में बाइट्स की संख्या निर्दिष्ट करता है।

वाक्य - विन्यास

Content-Length: bytes

उदाहरण

POST /item HTTP/1.1
Content-Type: application/soap+xml; charset=utf-8
Content-Length: 250

एक साबुन उदाहरण

नीचे दिए गए उदाहरण में, एक सर्वर को GetStockPrice अनुरोध भेजा जाता है। अनुरोध में स्टॉकनाम पैरामीटर और मूल्य पैरामीटर है जो प्रतिक्रिया में वापस किया जाएगा। फ़ंक्शन के लिए नाम स्थान "http://www.example.org/stock" में परिभाषित किया गया है।

एक साबुन अनुरोध:

POST /InStock HTTP/1.1
Host: www.example.org
Content-Type: application/soap+xml; charset=utf-8
Content-Length: nnn

<?xml version="1.0"?>

<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope/"
soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding">

<soap:Body xmlns:m="http://www.example.org/stock">
  <m:GetStockPrice>
    <m:StockName>IBM</m:StockName>
  </m:GetStockPrice>
</soap:Body>

</soap:Envelope>

SOAP प्रतिक्रिया:

HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: nnn

<?xml version="1.0"?>

<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope/"
soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding">

<soap:Body xmlns:m="http://www.example.org/stock">
  <m:GetStockPriceResponse>
    <m:Price>34.5</m:Price>
  </m:GetStockPriceResponse>
</soap:Body>

</soap:Envelope>