Dokumen WSDL

Dokumen WSDL hanya dokumen XML sederhana.

Ini mengandung sekumpulan definisi yang mendeskripsikan layanan web.

Struktur dokumen WSDL

Dokumen WSDL menggunakan elemen utama ini untuk mendeskripsikan layanan web:

Elemen Definisi
<portType> Operasi yang dijalankan oleh layanan web
<message> Pesan yang digunakan oleh layanan web
<types> Tipe data yang digunakan oleh layanan web
<binding> Protokol komunikasi yang digunakan oleh layanan web

Struktur utama dokumen WSDL seperti ini:

<definitions>
<types>
   definisi tipe...
</types>
<message>
   definisi pesan...
</message>
<portType>
   definisi port...
</portType>
<binding>
   definisi pengikat...
</binding>
</definitions>

Dokumen WSDL dapat mengandung elemen lainnya, seperti elemen extension, serta elemen service, yang dapat menggabungkan definisi beberapa layanan web dalam satu dokumen WSDL.

Untuk ikhtisar sintaks yang lengkap, silakan kunjungi Sintaks WSDL Bagian ini.

Port WSDL

<portType> Elemen adalah elemen yang paling penting dalam WSDL.

Ini dapat mendeskripsikan layanan web, operasi yang dapat dijalankan, serta pesan yang berhubungan.

Elemen <portType> dapat dibandingkan dengan pustaka fungsi (atau modul, atau kelas) dalam bahasa pemrograman tradisional.

Pesan WSDL

<message> Elemen mendefinisikan elemen data operasi.

Setiap pesan disusun dari satu atau lebih komponen. Komponen ini dapat dibandingkan dengan parameter pemanggilan fungsi dalam bahasa pemrograman tradisional.

Tipe WSDL

<types> Elemen mendefinisikan tipe data yang digunakan oleh layanan web.

Untuk kesetaraan platform yang maksimal, WSDL menggunakan sintaks XML Schema untuk mendefinisikan tipe data.

Pengikat WSDL

<binding> Elemen mengatur format pesan dan detil protokol bagi setiap port.

Contoh WSDL

Ini adalah potongan singkat dari dokumen 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>

Dalam contoh ini,<portType> Elemen menentukan "glossaryTerms" sebagai suatuPortNama, definasikan "getTerm" sebagai suatuOperasiNama.

Operasi "getTerm" memiliki nama "getTermRequest".Pesan masukan, serta pesan masukan yang dinamai "getTermResponse".Pesan keluar.

<message> Elemen dapat menentukan setiap pesanBahan, serta tipe data yang berhubungan.

Bandingkan pemrograman tradisional, glossaryTerms adalah pustaka, dan "getTerm" adalah fungsi dengan parameter masukan "getTermRequest" dan parameter kembalian getTermResponse.