ล่าสุดการพัฒนาเว็บบทเรียน
×

XML เกี่ยวกับการสอน

XML บ้าน XML บทนำ XML วิธีใช้ XML ต้นไม้ XML วากยสัมพันธ์ XML องค์ประกอบ XML แอตทริบิวต์ XML namespaces XML แสดง XML XSLT XML XPath XML XLink XML ตรวจสอบ XML DTD XML schema XML เซิร์ฟเวอร์ XML การประยุกต์ใช้งาน XML ตัวอย่าง XML ทดสอบ XML ใบรับรอง

XML DOM

DOM แนะนำ DOM โหนด DOM XMLHttpRequest DOM การเข้าถึง DOM ข้อมูลโหนด DOM รายการโหนด DOM ภายใน DOM การนำทาง DOM ได้รับค่า DOM Change โหนด DOM Remove โหนด DOM Replace โหนด DOM Create โหนด DOM Add โหนด DOM Clone โหนด DOM ตัวอย่าง

DOM การอ้างอิง

DOM ประเภทโหนด DOM ปม DOM NodeList DOM NamedNodeMap DOM เอกสาร DOM ธาตุ DOM คุณลักษณะ DOM ข้อความ DOM CDATA DOM คิดเห็น DOM XMLHttpRequest DOM parser

XML DTD

DTD แนะนำ DTD การก่อสร้างตึก DTD องค์ประกอบ DTD แอตทริบิวต์ DTD องค์ประกอบ VS attr DTD หน่วยงาน DTD ตัวอย่าง

XSD Schema

XSD แนะนำ XSD ทำอย่างไร XSD <schema> XSD องค์ประกอบ XSD แอตทริบิวต์ XSD ข้อ จำกัด

XSD ซับซ้อน

XSD องค์ประกอบ XSD ว่างเปล่า XSD เพียงองค์ประกอบ XSD ข้อความเท่านั้น XSD ผสม XSD ตัวชี้วัด XSD <any> XSD <anyAttribute> XSD การแทน XSD ตัวอย่าง

XSD Data

XSD เชือก XSD วันที่ XSD เป็นตัวเลข XSD อื่น ๆ XSD การอ้างอิง

Web บริการ

XML บริการ XML WSDL XML SOAP XML RDF XML RSS

 

XML WSDL


  • WSDL ย่อมาจากวิซเดิล
  • WSDL ใช้เพื่ออธิบายการบริการเว็บ
  • WSDL ถูกเขียนในรูปแบบ XML
  • WSDL เป็นข้อเสนอแนะจาก W3C 26 มิถุนายน 2007

เอกสาร WSDL

เอกสาร WSDL อธิบายบริการเว็บ มันจะระบุตำแหน่งของการให้บริการและวิธีการของการให้บริการโดยใช้องค์ประกอบที่สำคัญเหล่านี้:

ธาตุ ลักษณะ
<types> กำหนด (XML Schema) ประเภทข้อมูลที่ใช้บริการเว็บ
<message> กำหนดองค์ประกอบข้อมูลสำหรับการดำเนินงานในแต่ละ
<portType> อธิบายถึงการดำเนินงานที่สามารถดำเนินการและข้อความที่เกี่ยวข้องกับการ
<binding> กำหนดโปรโตคอลและการจัดรูปแบบข้อมูลสำหรับแต่ละชนิดของพอร์ต

โครงสร้างหลักของเอกสาร WSDL มีลักษณะเช่นนี้

<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>

ตัวอย่าง WSDL

นี่คือส่วนที่เรียบง่ายของเอกสาร WSDL A:

<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> องค์ประกอบที่กำหนด "glossaryTerms" เป็นชื่อหนึ่งของ port และ "getTerm" เป็นชื่อของ operation

"getTerm" การดำเนินงานที่มี input message เรียกว่า "getTermRequest" และ output message ที่เรียกว่า "getTermResponse"

<message> องค์ประกอบกำหนด parts ของแต่ละข้อความและชนิดของข้อมูลที่เกี่ยวข้อง


<portType> ธาตุ

<portType> องค์ประกอบที่กำหนด a web service การ operations ที่สามารถดำเนินการและ messages ที่มีส่วนร่วม

ประเภทที่ตอบสนองการร้องขอเป็นชนิดที่พบมากที่สุดในการดำเนินงาน แต่ WSDL กำหนดสี่ประเภท:

ชนิด คำนิยาม
One-way การดำเนินการสามารถรับข้อความ แต่จะไม่กลับมาตอบสนอง
Request-response การดำเนินการสามารถได้รับการร้องขอและจะกลับมาตอบสนอง
Solicit-response การดำเนินการสามารถส่งคำขอและจะรอการตอบสนอง
Notification การดำเนินการสามารถส่งข้อความไป แต่จะไม่รอการตอบสนอง

WSDL เดียวการดำเนินงาน

ตัวอย่างการดำเนินการทางเดียว:

<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 >

ในตัวอย่างข้างต้น portType "glossaryTerms" กำหนดดำเนินการทางเดียวที่เรียกว่า "setTerm"

"setTerm" การดำเนินการช่วยให้การป้อนข้อความแง่คำศัพท์ใหม่โดยใช้ "newTermValues" ข้อความที่มีการป้อนพารามิเตอร์ "term" และ "value" อย่างไรก็ตามยังไม่มีการส่งออกจะถูกกำหนดสำหรับการดำเนินงาน


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>

ในตัวอย่างข้างต้น portType "glossaryTerms" กำหนดดำเนินการตอบสนองการร้องขอที่เรียกว่า "getTerm"

"getTerm" การดำเนินการต้องมีข้อความที่ใส่เรียกว่า "getTermRequest" กับพารามิเตอร์ที่เรียกว่า "term" และจะกลับข้อความขาออกที่เรียกว่า "getTermResponse" กับพารามิเตอร์ที่เรียกว่า "value"


WSDL ผูกพันกับสบู่

ผูก 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>

binding องค์ประกอบมีสองคุณลักษณะ - ชื่อและประเภท

name แอตทริบิวต์ (you can use any name you want) กำหนดชื่อของผลผูกพันและ type จุดแอตทริบิวต์กับพอร์ตสำหรับผูกพันในกรณีนี้ "glossaryTerms" พอร์ต

soap:binding องค์ประกอบมีสองคุณลักษณะ - สไตล์และการขนส่ง

style แอตทริบิวต์สามารถ "rpc" หรือ "document" ในกรณีนี้เราใช้เอกสาร transport แอตทริบิวต์กำหนดโปรโตคอล SOAP ใช้ ในกรณีนี้เราใช้ HTTP

operation องค์ประกอบที่กำหนดดำเนินการแต่ละที่ exposes portType

สำหรับการดำเนินงานในแต่ละการกระทำ SOAP ที่เกี่ยวข้องจะต้องมีการกำหนดไว้ นอกจากนี้คุณยังจะต้องระบุว่าเข้าและส่งออกมีการเข้ารหัส ในกรณีนี้เราใช้ "literal"