Jazyk popisu webových služeb - Web Services Description Language
![]() | |
Přípona názvu souboru | .wsdl |
---|---|
Typ internetového média | aplikace / wsdl + xml |
Vyvinul | World Wide Web Consortium |
Obsahuje | XML |
Standard | 2.0 Doporučení |
The Jazyk popisu webových služeb (WSDL /ˈwɪzd.l/) je XML -na základě jazyk popisu rozhraní který se používá k popisu funkcí nabízených a webová služba. Zkratka se také používá pro jakýkoli konkrétní popis WSDL webové služby (označovaný také jako Soubor WSDL), který poskytuje strojově čitelný popis toho, jak lze službu volat, jaké parametry očekává a jaké datové struktury vrací. Proto je jeho účel zhruba podobný účelu a podpis typu v programovacím jazyce.
Aktuální verze WSDL je WSDL 2.0. Význam zkratky se změnil od verze 1.1, kde písmeno „D“ znamenalo „definice“.
Popis
![](http://upload.wikimedia.org/wikipedia/commons/thumb/c/c2/WSDL_11vs20.png/280px-WSDL_11vs20.png)
WSDL popisuje služby jako kolekce síťových koncových bodů nebo portů. Specifikace WSDL poskytuje XML formát abstraktní definice portů a zpráv jsou odděleny od jejich konkrétního použití nebo instance, což umožňuje opětovné použití těchto definic. Port je definován přidružením a síťová adresa s opakovaně použitelnou vazbou a kolekce portů definuje službu. Zprávy jsou abstraktní popisy vyměňovaných dat a typy portů jsou abstraktní kolekce podporovaných operací. Specifikace konkrétního protokolu a formátu dat pro konkrétní typ portu představuje opakovaně použitelnou vazbu, kde jsou operace a zprávy poté vázány na konkrétní síťový protokol a formát zprávy. Tímto způsobem WSDL popisuje veřejné rozhraní k webové službě.
WSDL se často používá v kombinaci s MÝDLO a Schéma XML poskytovat webové služby přes internet Internet. Klientský program připojující se k webové službě může číst soubor WSDL a určit, jaké operace jsou na serveru k dispozici. Nějaké speciální typy dat použité jsou vloženy do souboru WSDL ve formě schématu XML. Klient pak může použít SOAP ke skutečnému volání jedné z operací uvedených v souboru WSDL pomocí například XML přes HTTP.
Aktuální verze specifikace je 2.0; verze 1.1 nebyla schválena W3C ale verze 2.0 je Doporučení W3C.[1] WSDL 1.2 byl přejmenován na WSDL 2.0 kvůli jeho podstatným rozdílům od WSDL 1.1. Přijetím vazby na všechny Metody požadavku HTTP (nejen GET a POST jako ve verzi 1.1), specifikace WSDL 2.0 nabízí lepší podporu pro Klidný webové služby a je mnohem jednodušší implementovat.[2][3] Podpora této specifikace je však stále nedostatečná sady pro vývoj softwaru pro webové služby, které často nabízejí nástroje pouze pro WSDL 1.1.[potřebuje aktualizaci ][Citace je zapotřebí ] Například verze 2.0 Business Process Execution Language (BPEL) podporuje pouze WSDL 1.1.
Termín WSDL 1.1 | Termín WSDL 2.0 | Popis |
---|---|---|
Servis | Servis | Obsahuje sadu systémových funkcí, které byly vystaveny webovým protokolům. |
Přístav | Koncový bod | Definuje adresu nebo bod připojení k webové službě. Obvykle je reprezentován jednoduchým řetězcem URL HTTP. |
Vazba | Vazba | Určuje rozhraní a definuje MÝDLO styl vazby (RPC / Dokument) a doprava (MÝDLO Protokol). Sekce vazby také definuje operace. |
PortType | Rozhraní | Definuje webovou službu, operace, které lze provést, a zprávy, které se používají k provedení operace. |
Úkon | Úkon | Definuje akce SOAP a způsob kódování zprávy, například „doslovný“. Operace je jako volání metody nebo funkce v tradičním programovacím jazyce. |
Zpráva | n / a | Zpráva obvykle odpovídá operaci. Zpráva obsahuje informace potřebné k provedení operace. Každá zpráva se skládá z jedné nebo více logických částí. Každá část je spojena s atributem psaní zprávy. Atribut názvu zprávy poskytuje jedinečný název mezi všemi zprávami. Atribut názvu části poskytuje jedinečný název mezi všemi částmi přiložené zprávy. Části jsou popis logického obsahu zprávy. Ve vazbě RPC může vazba odkazovat na název součásti, aby bylo možné specifikovat informace specifické pro vazbu o součásti. Část může představovat parametr ve zprávě; vazby definují skutečný význam dílu. Zprávy byly odebrány ve WSDL 2.0, ve kterém XML na typy schémat pro definování těl vstupů, výstupů a poruch se odkazuje jednoduše a přímo. |
Typy | Typy | Popisuje data. The Schéma XML jazyk (také známý jako XSD ) se pro tento účel používá (vložený nebo odkazovaný). |
Podmnožina WSDL
Podmnožina WSDL (SWSDL)[4] je WSDL s operacemi podmnožiny původního WSDL. Vývojář může pomocí SWSDL přistupovat ke službě podmnožiny, a tak zpracovávat podmnožinu kódu webové služby. Subset WSDL lze použít k provedení testování webových služeb a vývoji shora dolů. Řezání webové služby lze provést pomocí podmnožiny WSDL pro přístup k podmnožině služby. Subset Service lze kategorizovat do vrstev pomocí SWSDL. SWSDL se používají pro analýzu webových služeb, testování a vývoj shora dolů. AWSCM[5] je průkopnický nástroj k úspěšné konstrukci SWSDL.
Příklad souboru WSDL
<?xml version="1.0" encoding="UTF-8"?> xmlns =„http://www.w3.org/ns/wsdl“ xmlns: tns =„http://www.tmsws.com/wsdl20sample“ xmlns: whttp =„http://schemas.xmlsoap.org/wsdl/http/“ xmlns: wsoap =„http://schemas.xmlsoap.org/wsdl/soap/“ targetNamespace =„http://www.tmsws.com/wsdl20sample“><documentation> Toto je ukázkový dokument WSDL 2.0. </documentation><!-- Abstract type --> <types> xmlns: xs =„http://www.w3.org/2001/XMLSchema“ xmlns =„http://www.tmsws.com/wsdl20sample“ targetNamespace =„http://www.example.com/wsdl20sample“> jméno ="žádost"> ... </xs:element> jméno ="Odezva"> ... </xs:element> </xs:schema> </types><!-- Abstract interfaces --> jméno =„Rozhraní1“> jméno =„Chyba1“ prvek ="tns: response"/> jméno ="Dostat" vzor =„http://www.w3.org/ns/wsdl/in-out“> messageLabel ="V" prvek ="tns: request"/> messageLabel ="Ven" prvek ="tns: response"/> </operation> </interface><!-- Concrete Binding Over HTTP --> jméno ="HttpBinding" rozhraní ="tns: Interface1" zadejte =„http://www.w3.org/ns/wsdl/http“> ref ="tns: Získat" whttp: metoda ="DOSTAT"/> </binding> <!-- Concrete Binding with SOAP--> jméno ="SoapBinding" rozhraní ="tns: Interface1" zadejte =„http://www.w3.org/ns/wsdl/soap“ wsoap: protokol =„http://www.w3.org/2003/05/soap/bindings/HTTP/“ wsoap: mepDefault =„http://www.w3.org/2003/05/soap/mep/request-response“> ref ="tns: Získat" /> </binding><!-- Web Service offering endpoints for both bindings--> jméno =„Service1“ rozhraní ="tns: Interface1"> jméno =„HttpEndpoint“ vazba ="tns: HttpBinding" adresa =„http://www.example.com/rest/“/> jméno =„SoapEndpoint“ vazba ="tns: SoapBinding" adresa =„http://www.example.com/soap/“/> </service></description>
Dějiny
WSDL 1.0 (září 2000) byl vyvinut společností IBM, Microsoft, a Ariba popsat webové služby pro jejich sadu nástrojů SOAP. Byl vytvořen kombinací dvou jazyků popisu služby: NASSL (Network Application Service Specification Language) od IBM a SDL (Service Description Language) od společnosti Microsoft.
WSDL 1.1, publikovaný v březnu 2001, je formalizací WSDL 1.0. Mezi 1.0 a 1.1 nebyly zavedeny žádné zásadní změny.
WSDL 1.2 (červen 2003) byl pracovní koncept na W3C, ale stal se WSDL 2.0. Podle W3C: WSDL 1.2 je pro vývojáře snazší a flexibilnější než předchozí verze. WSDL 1.2 se pokouší odstranit neoperabilní funkce a také lépe definuje vazbu HTTP 1.1. WSDL 1.2 nebyl podporován většinou serverů / dodavatelů SOAP.
WSDL 2.0 se stalo doporučením W3C v červnu 2007. WSDL 1.2 byl přejmenován na WSDL 2.0, protože má značné rozdíly od WSDL 1.1. Změny jsou následující:
- Přidána další sémantika do jazyka popisu
- Odebrané konstrukty zpráv
- Přetížení operátoru není podporováno
- Typy portů přejmenované na rozhraní
- Porty přejmenované na koncové body
Bezpečnostní aspekty
Protože soubory WSDL jsou specifikací pro popis webové služby založenou na XML, jsou soubory WSDL náchylné k útoku.[6] Aby se snížila zranitelnost těchto souborů, doporučuje se omezit přístup k vygenerovaným souborům WSDL, nastavit správná omezení přístupu k definicím WSDL a vyhnout se zbytečným definicím ve webových službách.
Viz také
Reference
- ^ „Web Services Definition Language (WSDL) verze 2.0 část 1: základní jazyk“. Citováno 2007-06-27.
- ^ „Web Services Definition Language (WSDL) verze 2.0, část 2: Přídavky“.
- ^ „Vazba WITW WSDL 2.0 HTTP“.
- ^ Chaturvedi, Animesh (2014). Subset WSDL to Access Subset Service for Analysis. 6. mezinárodní konference IEEE 2014 o cloudových výpočetních technologiích a vědě. str. 688. doi:10.1109 / CloudCom.2014.149. ISBN 978-1-4799-4093-6.
- ^ Chaturvedi, Animesh (2014). Automatizované řízení změn webových služeb AWSCM - nástroj. 6. mezinárodní konference IEEE 2014 o cloudových výpočetních technologiích a vědě. str. 715. doi:10.1109 / CloudCom.2014.144. ISBN 978-1-4799-4093-6.
- ^ „Zveřejnění WSDL“. Citováno 2017-05-31.
externí odkazy
- Specifikace WSDL 1.0
- Specifikace WSDL 1.1
- Specifikace WSDL 2.0
- Pracovní skupina Popis webových služeb
- Aktivita protokolu XML
- JSR-110: Java API pro WSDL
- JSR 172: Specifikace webových služeb Java ME
- Online validátor WSDL
- Online prohlížeč WSDL a testovací klient
- Programová vizualizace WSDL s Linguine Maps
- SSDL - jazyk popisu služby SOAP
- Vazby WSDL Java pro XMLBeans a JAXB.
- RELAX-WS: Jednoduchý jazyk definice webové služby založený na kompaktní syntaxi RELAX NG