- WSDL singkatan Web Services Description Language
- WSDL digunakan untuk menggambarkan layanan web
- WSDL ditulis dalam XML
- WSDL adalah rekomendasi W3C dari 26. Juni 2007
WSDL Dokumen
Sebuah dokumen WSDL menjelaskan layanan web. Ini menentukan lokasi layanan, dan metode layanan, menggunakan unsur-unsur utama:
Elemen | Deskripsi |
---|---|
<types> | Mendefinisikan (XML Schema) jenis data yang digunakan oleh layanan web |
<message> | Mendefinisikan elemen data untuk setiap operasi |
<portType> | Menggambarkan operasi yang dapat dilakukan dan pesan yang terlibat. |
<binding> | Mendefinisikan protokol dan format data untuk masing-masing jenis port |
Struktur utama dari dokumen WSDL terlihat seperti ini:
<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 Contoh
Ini adalah sebagian kecil sederhana dari sebuah 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 mendefinisikan "glossaryTerms" sebagai nama sebuah port , dan "getTerm" sebagai nama sebuah operation .
The "getTerm" operasi memiliki input message yang disebut "getTermRequest" dan output message yang disebut "getTermResponse" .
The <message> elemen menentukan parts dari setiap pesan dan tipe data yang terkait.
The <portType> Elemen
The <portType> elemen mendefinisikan a web service , yang operations yang dapat dilakukan, dan messages yang terlibat.
Jenis permintaan-respon adalah jenis operasi yang paling umum, tetapi WSDL mendefinisikan empat jenis:
Mengetik | Definisi |
---|---|
One-way | Operasi dapat menerima pesan tetapi tidak akan kembali tanggapan |
Request-response | Operasi dapat menerima permintaan dan akan kembali tanggapan |
Solicit-response | Operasi dapat mengirim permintaan dan akan menunggu tanggapan |
Notification | Operasi dapat mengirim pesan tetapi tidak akan menunggu tanggapan |
WSDL Satu-Way Operasi
Sebuah operasi satu arah contoh:
<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 >
Dalam contoh di atas, portType "glossaryTerms" mendefinisikan operasi satu-arah yang disebut "setTerm" .
The "setTerm" operasi memungkinkan masukan istilah glossary baru pesan menggunakan "newTermValues" pesan dengan parameter masukan "term" dan "value" . Namun, tidak ada output didefinisikan untuk operasi.
WSDL Permintaan-Response Operasi
Operasi permintaan-respon contoh:
<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 di atas, portType "glossaryTerms" mendefinisikan operasi permintaan-respon yang disebut "getTerm" .
The "getTerm" operasi membutuhkan pesan masukan yang disebut "getTermRequest" dengan parameter yang disebut "term" , dan akan kembali output pesan yang disebut "getTermResponse" dengan parameter yang disebut "value" .
WSDL Binding untuk SOAP
binding WSDL mendefinisikan pesan Format dan protokol rincian untuk layanan web.
Operasi permintaan-respon contoh:
<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>
The binding elemen memiliki dua atribut - nama dan jenis.
The name atribut (you can use any name you want) mendefinisikan nama mengikat, dan type atribut poin ke port untuk mengikat, dalam hal ini "glossaryTerms" pelabuhan.
The soap:binding elemen memiliki dua atribut - gaya dan transportasi.
The style atribut dapat "rpc" atau "document" . Dalam hal ini kita menggunakan dokumen. The transport atribut mendefinisikan protokol SOAP untuk digunakan. Dalam hal ini kita menggunakan HTTP.
The operation elemen mendefinisikan setiap operasi yang portType memaparkan.
Untuk setiap operasi tindakan SOAP sesuai harus didefinisikan. Anda juga harus menentukan bagaimana input dan output dikodekan. Dalam hal ini kita menggunakan "literal" .