WSDL

WSDL , forkortelse for Web Services Description Language , er et XML -format ( Extensible Markup Language ) som brukes til å beskrive webtjenester (WS). Versjon 1.0 var den første anbefalingen fra W3C , og versjon 1.1 oppnådde aldri den statusen. Versjon 2.0 ble gjeldende anbefaling fra den enheten.

WSDL beskriver det offentlige grensesnittet til webtjenester. Den er basert på XML og beskriver kommunikasjonsformen, det vil si protokollkravene og meldingsformatene som er nødvendige for å samhandle med tjenestene som er oppført i katalogen. Operasjonene og meldingene den støtter er beskrevet i sammendraget og deretter knyttet til den spesifikke nettverksprotokollen og meldingsformatet.

Derfor brukes WSDL ofte i kombinasjon med SOAP og XML Schema . Et klientprogram som kobler til en webtjeneste kan lese WSDL for å finne ut hvilke funksjoner som er tilgjengelige på serveren. Spesielle datatyper er inkludert i WSDL-filen i form av XML Schema. Klienten kan bruke SOAP til å ringe en av funksjonene som er oppført i WSDL.

WSDL lar oss ha en beskrivelse av en webtjeneste. Spesifiserer det abstrakte grensesnittet som en klient kan få tilgang til tjenesten gjennom og detaljene for hvordan den skal brukes.

WSDL-struktur

WSDL-strukturen har følgende elementer:

Datatyper

<typer>: Denne delen definerer datatypene som brukes i meldingene. Typene definert i XML Schema-spesifikasjonen brukes.

Meldinger

<melding>: Her definerer vi meldingselementene. Hver melding kan bestå av en rekke logiske deler. Delene kan være av hvilken som helst av typene som er definert i forrige avsnitt.

Porttyper

<portType>: Med denne delen definerer vi operasjonene som er tillatt og meldingene som utveksles i tjenesten.

Bindinger

<binding>: Vi spesifiserer kommunikasjonsprotokollene som brukes.

Tjenester

<tjeneste>: Sett med porter og deres adresse. Denne siste delen viser til det som ble gitt av de forrige avsnittene.

Med disse elementene vet vi ikke hva en tjeneste gjør, men vi har den nødvendige informasjonen for å samhandle med den (funksjoner, input/output-meldinger, protokoller...)

Eksempler

Nedenfor er et eksempel på et WSDL-dokument og dets forskjellige seksjoner. I dette spesifikke eksemplet implementeres en tjeneste som viser gjeldende markedsverdi basert på navnet på en børsverdi.

<definitions name= "StockQuote" targetNamespace= "http://example.com/stockquote.wsdl" xmlns:tns= "http://example.com/stockquote.wsdl" xmlns:xsd1= "http://example. com/stockquote.xsd" xmlns:soap= "http://schemas.xmlsoap.org/wsdl/soap/" xmlns= "http://schemas.xmlsoap.org/wsdl/" > <types> <schema targetNamespace= "http://example.com/stockquote.xsd" xmlns= "http://www.w3.org/2000/10/XMLSchema" > <element name= "TradePriceRequest" > <complexType > <all> <element name= "tickerSymbol" type= "string" /> </all> </complexType> </element> <element name= "TradePrice" > <complexType> <all> <element name= "price" " type= "float" /> </all> </complexType> </element> </schema> </types> <message name= "GetLastTradePriceInput" > <part name= "body" element= "xsd1:TradePriceRequest" /> </message> <message name= "GetLastTradePriceOutput" > <part name= "body" element= "xsd1:TradePrice" /> </message> <portType name= "StockQuotePortType" > <operation name= "GetLastTradePrice" > <input message= "tns:GetLastTradePriceInput" /> <output message= "tns:GetLastTradePriceOutput" /> </operation> </portType> <binding name= "StockQuoteSoapBinding" type= "tns:StockQuotePortType" > <soap:binding style= "document" transport= "http://schemas.xmlsoap.org/soap/http" /> <operation name= "GetLastTradePrice" > <soap:operation soapAction= "http://example.com/GetLastTradePrice" /> <input> <soap:body use= "literal" /> </input> <output> <soap:body use= "literal" /> </output> </operation> </binding> <service name= "StockQuoteService" > <documentation> Min første tjeneste </documentation> <port name= "StockQuotePort" binding= "tns:StockQuoteSoapBinding" > <soap:address location= "http://example.com/stockquote" /> </port> </service> </definitions>

Se også

Eksterne lenker