Мова опису вебсервісів (англ. Web Services Description Language, WSDL) — мова опису інтерфейсів вебсервісу заснована на XML, що описує функціональність вебсервісу і спосіб доступу до нього. Акронім WSDL також використовують для будь-якого конкретного WSDL опису вебсервісу (також званого як WSDL-файл), який забезпечує для комп'ютера опис того, як сервіс можна викликати, які параметри він очікує, і які структури даних він повертає. Таким чином, мета WSDL-файлу приблизно аналогічна визначенню методу в мові програмування.
Розширення файлу: | .wsdl |
---|---|
MIME-тип: | application/wsdl+xml |
Розробник: | World Wide Web Consortium |
Міститься у: | XML |
Стандарт(и): | 2.0 Recommendation |
Поточна версія WSDL — WSDL 2.0. Значення акроніма змінилося з версії 1.1, де літера «D» означала «визначення» (англ. «Definition»).
Опис
WSDL описує сервіси як колекції кінцевих точок мережі чи портів. Специфікація WSDL надає формат XML для документів для цієї мети. Абстрактне визначення портів і повідомлень відокремлене від їх конкретного використання та їх сутностей, що дозволяє повторне використання цих визначень. Порт визначається пов'язуючи мережеву адресу з багаторазовим зв'язуванням, а набір портів визначає сервіс. Повідомлення - це абстрактні описи даних, якими обмінюються, і типи портів - це абстрактні колекції підтримуваних операцій. Конкретні протоколи і специфікації формату даних для конкретного типу порту є багаторазовим зв'язування, де операції і повідомлення потім прив'язуються до конкретного формату мережевих протоколів і повідомлень. Таким чином, WSDL описує публічний інтерфейс для вебслужби.
WSDL часто використовується в комбінації з SOAP і XML-схеми для надання вебсервісів через Інтернет. Клієнтська програма підключена до вебслужби може прочитати файл WSDL, щоб визначити, які операції доступні на сервері. Будь-які спеціальні типи даних, що використовуються, вбудовані в файл WSDL у вигляді XML-схеми. Потім клієнт може використовувати SOAP, щоб викликати одну з операцій, перерахованих у файлі WSDL, використовуючи, наприклад, XML через HTTP.
Поточна версія специфікації WSDL 2.0; версія 1.1 була схвалена W3C, але версія 2.0 рекомендована W3C. WSDL 1.2 було перейменовано у WSDL 2.0 через його істотні відмінності від WSDL 1.1. Приймаючи зв'язування з усіма методами HTTP запиту (не тільки GET і POST, як у версії 1.1), специфікація WSDL 2.0 пропонує поліпшену підтримку вебсервісів REST, і її набагато простіше реалізувати. Однак для підтримка цієї специфікації бракує SDK для веб сервісів, які все ще пропонують інструменти тільки для WSDL 1.1. Наприклад, у версії 2.0 Business Process Execution Language (BPEL) підтримує тільки WSDL 1.1.
WSDL 1.1 термін | WSDL 2.0 термін | Опис |
---|---|---|
Сервіс | Сервіс | Містить набір системних функцій, які були виставлені на вебпротоколах. |
Порт | Кінцева точка | Визначає адресу або точку підключення до вебслужби. Це, як правило, представлено простим рядком HTTP URL. |
Binding | Binding | Визначає інтерфейс і стиль зв'язування SOAP (RPC / Документ) і транспорт (протокол SOAP). Секція зв'язування також визначає операції. |
PortType | Інтерфейс | Визначає вебслужби, операції, які можуть бути виконані, а також повідомлення, які використовуються для виконання операції. |
Операція | Операція | Визначає дії SOAP і спосіб кодування повідомлення, наприклад, "буквальні". Операція як метод або виклик функції в традиційній мові програмування. |
Повідомлення | Немає | Як правило, повідомлення відповідає операції. Повідомлення містить інформацію, необхідну для виконання операції. Кожне повідомлення складається з одного або декількох логічних частин. Кожна частина пов'язана з атрибутом message-typing. Атрибут імені повідомлення містить унікальне ім'я серед усіх повідомлень. Атрибут part name забезпечує унікальне ім'я серед всіх частин, що обмежено повідомленням. Частини - це опис логічного змісту повідомлення. У RPC зв'язуванні, зв'язування може посилатися на ім'я частини для того, щоб вказати специфічну інформацію для зв'язування про частини. Частина може являти собою параметр в повідомленні; зв'язування визначає фактичне значення частини. Повідомлення були видалені в WSDL 2.0, в якому типи XML-схеми для визначення тіла входів, виходів і несправностей, викликаються просто і прямо. |
Тип | Тип | Описує дані. Мова XML схеми (також відома як XSD) використовується (вбудовано або через посилання) для цієї мети. |
Підгрупа WSDL
Підгрупа WSDL (SWSDL) - це WSDL з підмножиною операцій оригінального WSDL. Розробник може використовувати підгрупу WSDL (SWSDL) для доступу до так званого підмножинного сервісу - Subset сервісу - таким чином обробляти підмножину коду вебслужби. Можна розділити вебсервіс на частини на основі підмножини WSDL (SWSDL) для доступу до Subset сервісу. Subset сервіс підгрупи можна розділити на рівні. SWSDL використовуються для аналізу, тестування вебслужби і розробки зверху вниз. AWSCM достатньо новий інструмент для успішної побудови SWSDL
Структура
Кожний документ WSDL 1.1 можна розбити на наступні логічні частини:
- визначення типів даних (типи) - визначення виду відправлених і отриманих сервісом XML-повідомлень
- елементи даних (повідомлення) - повідомлення, що використовуються з вебсервісом
- абстрактні операції (PortType) - список операцій, які можуть бути виконані з повідомленнями
- зв'язування сервісів (зв'язування (англ. binding)) - спосіб, яким повідомлення буде доставлено
Приклади WSDL
Приклад 1 - WSDL 1.1
<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>
Приклад 2 - WSDL 2.0
<?xml version="1.0" encoding="UTF-8"?> <description 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> This is a sample WSDL 2.0 document. </documentation> <!-- Abstract type --> <types> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.tmsws.com/wsdl20sample" targetNamespace="http://www.example.com/wsdl20sample"> <xs:element name="request"> ... </xs:element> <xs:element name="response"> ... </xs:element> </xs:schema> </types> <!-- Abstract interfaces --> <interface name="Interface1"> <fault name="Error1" element="tns:response"/> <operation name="Get" pattern="http://www.w3.org/ns/wsdl/in-out"> <input messageLabel="In" element="tns:request"/> <output messageLabel="Out" element="tns:response"/> </operation> </interface> <!-- Concrete Binding Over HTTP --> <binding name="HttpBinding" interface="tns:Interface1" type="http://www.w3.org/ns/wsdl/http"> <operation ref="tns:Get" whttp:method="GET"/> </binding> <!-- Concrete Binding with SOAP--> <binding name="SoapBinding" interface="tns:Interface1" type="http://www.w3.org/ns/wsdl/soap" wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP/" wsoap:mepDefault="http://www.w3.org/2003/05/soap/mep/request-response"> <operation ref="tns:Get" /> </binding> <!-- Web Service offering endpoints for both bindings--> <service name="Service1" interface="tns:Interface1"> <endpoint name="HttpEndpoint" binding="tns:HttpBinding" address="http://www.example.com/rest/"/> <endpoint name="SoapEndpoint" binding="tns:SoapBinding" address="http://www.example.com/soap/"/> </service> </description>
Історія
WSDL 1.0 (у вересні 2000) був розроблений IBM, Microsoft і Ariba для опису вебслужб для їх SOAP інструментарію. Він був побудований за рахунок поєднання двох мов опису сервісів: NASSL (Network Application Service Specification Language) від IBM і SDL (Service Description Language) від Microsoft.
WSDL 1.1, опублікований в березні 2001 року, формалізація WSDL 1.0. не булу введено жодних істотних змін від 1,0 до 1,1.
WSDL 1.2 (червень 2003) був робочий проект W3C, але став WSDL 2.0. Згідно W3C: WSDL 1.2 простіший і більш гнучкий для розробників ніж в попередня версія. WSDL 1.2 намагається видалити несумісні функції, а також визначає binding HTTP 1.1 binding краще. WSDL 1.2 не підтримувався більшістю SOAP серверів та постачальників.
WSDL 2.0 став рекомендацією W3C в червні 2007 року. WSDL 1.2 був перейменований в WSDL 2.0, оскільки він мав істотні відмінності від WSDL 1.1. Зміни полягають у наступному:
- Додана додаткова семантика до мови опису
- Вилучені конструкції повідомлень
- Перевантаження операторів не підтримується
- PortType перейменовано в інтерфейс
- Порти перейменований в кінцеві точки
Дивитися також
- [en]
- Simple Object Access Protocol(SOAP)
- [en]
- WCF
Посилання
- . www.w3.org. Архів оригіналу за 4 січня 2017. Процитовано 25 грудня 2016.
- . www.w3.org. Архів оригіналу за 25 січня 2017. Процитовано 25 грудня 2016.
- Chaturvedi, A. (1 грудня 2014). . 2014 IEEE 6th International Conference on Cloud Computing Technology and Science. с. 715—718. doi:10.1109/CloudCom.2014.144. Архів оригіналу за 12 липня 2017. Процитовано 25 грудня 2016.
Зовнішні посилання
- WSDL 1.0 специфікація [ 27 липня 2017 у Wayback Machine.]
- WSDL 1.1 специфікація [ 15 січня 2009 у Wayback Machine.]
- WSDL 2.0 специфікація, частина 0: Primer (остання версія) [ 4 січня 2017 у Wayback Machine.]
- WSDL 2.0 специфікація, частина 1: Core (остання версія) [ 21 січня 2009 у Wayback Machine.]
- WSDL 2.0 специфікація, 2: Adjuncts (остання версія) [ 11 січня 2017 у Wayback Machine.]
- Web Services Description Working Group [ 20 січня 2017 у Wayback Machine.]
- XML протокол [ 7 січня 2017 у Wayback Machine.]
- JSR-110: Java APIs для WSDL [ 31 жовтня 2020 у Wayback Machine.]
- JSR 172: Java ME Web специфікація сервісу [ 2 травня 2012 у Wayback Machine.]
- WSDL Java Bindings [ 11 квітня 2009 у Wayback Machine.] для XMLBeans and JAXB.
- W3C Working Draft [ 26 серпня 2016 у Wayback Machine.]
- RELAX-WS: проста мова для визначення веб сервісу заснована на RELAX NG Compact Syntax
- WSDL: погляд зсередини: частина I [ 30 січня 2017 у Wayback Machine.], частина II [ 11 лютого 2017 у Wayback Machine.]
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Mova opisu vebservisiv angl Web Services Description Language WSDL mova opisu interfejsiv vebservisu zasnovana na XML sho opisuye funkcionalnist vebservisu i sposib dostupu do nogo Akronim WSDL takozh vikoristovuyut dlya bud yakogo konkretnogo WSDL opisu vebservisu takozh zvanogo yak WSDL fajl yakij zabezpechuye dlya komp yutera opis togo yak servis mozhna viklikati yaki parametri vin ochikuye i yaki strukturi danih vin povertaye Takim chinom meta WSDL fajlu priblizno analogichna viznachennyu metodu v movi programuvannya angl Web Services Description Language WSDLRozshirennya fajlu wsdlMIME tip application wsdl xmlRozrobnik World Wide Web ConsortiumMistitsya u XMLStandart i 2 0 Recommendation Potochna versiya WSDL WSDL 2 0 Znachennya akronima zminilosya z versiyi 1 1 de litera D oznachala viznachennya angl Definition OpisVersiyi 1 1 i 2 0 WSDL opisuye servisi yak kolekciyi kincevih tochok merezhi chi portiv Specifikaciya WSDL nadaye format XML dlya dokumentiv dlya ciyeyi meti Abstraktne viznachennya portiv i povidomlen vidokremlene vid yih konkretnogo vikoristannya ta yih sutnostej sho dozvolyaye povtorne vikoristannya cih viznachen Port viznachayetsya pov yazuyuchi merezhevu adresu z bagatorazovim zv yazuvannyam a nabir portiv viznachaye servis Povidomlennya ce abstraktni opisi danih yakimi obminyuyutsya i tipi portiv ce abstraktni kolekciyi pidtrimuvanih operacij Konkretni protokoli i specifikaciyi formatu danih dlya konkretnogo tipu portu ye bagatorazovim zv yazuvannya de operaciyi i povidomlennya potim priv yazuyutsya do konkretnogo formatu merezhevih protokoliv i povidomlen Takim chinom WSDL opisuye publichnij interfejs dlya vebsluzhbi WSDL chasto vikoristovuyetsya v kombinaciyi z SOAP i XML shemi dlya nadannya vebservisiv cherez Internet Kliyentska programa pidklyuchena do vebsluzhbi mozhe prochitati fajl WSDL shob viznachiti yaki operaciyi dostupni na serveri Bud yaki specialni tipi danih sho vikoristovuyutsya vbudovani v fajl WSDL u viglyadi XML shemi Potim kliyent mozhe vikoristovuvati SOAP shob viklikati odnu z operacij pererahovanih u fajli WSDL vikoristovuyuchi napriklad XML cherez HTTP Potochna versiya specifikaciyi WSDL 2 0 versiya 1 1 bula shvalena W3C ale versiya 2 0 rekomendovana W3C WSDL 1 2 bulo perejmenovano u WSDL 2 0 cherez jogo istotni vidminnosti vid WSDL 1 1 Prijmayuchi zv yazuvannya z usima metodami HTTP zapitu ne tilki GET i POST yak u versiyi 1 1 specifikaciya WSDL 2 0 proponuye polipshenu pidtrimku vebservisiv REST i yiyi nabagato prostishe realizuvati Odnak dlya pidtrimka ciyeyi specifikaciyi brakuye SDK dlya veb servisiv yaki vse she proponuyut instrumenti tilki dlya WSDL 1 1 Napriklad u versiyi 2 0 Business Process Execution Language BPEL pidtrimuye tilki WSDL 1 1 WSDL 1 1 termin WSDL 2 0 termin Opis Servis Servis Mistit nabir sistemnih funkcij yaki buli vistavleni na vebprotokolah Port Kinceva tochka Viznachaye adresu abo tochku pidklyuchennya do vebsluzhbi Ce yak pravilo predstavleno prostim ryadkom HTTP URL Binding Binding Viznachaye interfejs i stil zv yazuvannya SOAP RPC Dokument i transport protokol SOAP Sekciya zv yazuvannya takozh viznachaye operaciyi PortType Interfejs Viznachaye vebsluzhbi operaciyi yaki mozhut buti vikonani a takozh povidomlennya yaki vikoristovuyutsya dlya vikonannya operaciyi Operaciya Operaciya Viznachaye diyi SOAP i sposib koduvannya povidomlennya napriklad bukvalni Operaciya yak metod abo viklik funkciyi v tradicijnij movi programuvannya Povidomlennya Nemaye Yak pravilo povidomlennya vidpovidaye operaciyi Povidomlennya mistit informaciyu neobhidnu dlya vikonannya operaciyi Kozhne povidomlennya skladayetsya z odnogo abo dekilkoh logichnih chastin Kozhna chastina pov yazana z atributom message typing Atribut imeni povidomlennya mistit unikalne im ya sered usih povidomlen Atribut part name zabezpechuye unikalne im ya sered vsih chastin sho obmezheno povidomlennyam Chastini ce opis logichnogo zmistu povidomlennya U RPC zv yazuvanni zv yazuvannya mozhe posilatisya na im ya chastini dlya togo shob vkazati specifichnu informaciyu dlya zv yazuvannya pro chastini Chastina mozhe yavlyati soboyu parametr v povidomlenni zv yazuvannya viznachaye faktichne znachennya chastini Povidomlennya buli vidaleni v WSDL 2 0 v yakomu tipi XML shemi dlya viznachennya tila vhodiv vihodiv i nespravnostej viklikayutsya prosto i pryamo Tip Tip Opisuye dani Mova XML shemi takozh vidoma yak XSD vikoristovuyetsya vbudovano abo cherez posilannya dlya ciyeyi meti Pidgrupa WSDLPidgrupa WSDL SWSDL ce WSDL z pidmnozhinoyu operacij originalnogo WSDL Rozrobnik mozhe vikoristovuvati pidgrupu WSDL SWSDL dlya dostupu do tak zvanogo pidmnozhinnogo servisu Subset servisu takim chinom obroblyati pidmnozhinu kodu vebsluzhbi Mozhna rozdiliti vebservis na chastini na osnovi pidmnozhini WSDL SWSDL dlya dostupu do Subset servisu Subset servis pidgrupi mozhna rozdiliti na rivni SWSDL vikoristovuyutsya dlya analizu testuvannya vebsluzhbi i rozrobki zverhu vniz AWSCM dostatno novij instrument dlya uspishnoyi pobudovi SWSDLStrukturaKozhnij dokument WSDL 1 1 mozhna rozbiti na nastupni logichni chastini viznachennya tipiv danih tipi viznachennya vidu vidpravlenih i otrimanih servisom XML povidomlen elementi danih povidomlennya povidomlennya sho vikoristovuyutsya z vebservisom abstraktni operaciyi PortType spisok operacij yaki mozhut buti vikonani z povidomlennyami zv yazuvannya servisiv zv yazuvannya angl binding sposib yakim povidomlennya bude dostavlenoPrikladi WSDLPriklad 1 WSDL 1 1 lt message name getTermRequest gt lt part name term type xs string gt lt message gt lt message name getTermResponse gt lt part name value type xs string gt lt message gt lt portType name glossaryTerms gt lt operation name getTerm gt lt input message getTermRequest gt lt output message getTermResponse gt lt operation gt lt portType gt Priklad 2 WSDL 2 0 lt xml version 1 0 encoding UTF 8 gt lt description 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 gt lt documentation gt This is a sample WSDL 2 0 document lt documentation gt lt Abstract type gt lt types gt lt xs schema xmlns xs http www w3 org 2001 XMLSchema xmlns http www tmsws com wsdl20sample targetNamespace http www example com wsdl20sample gt lt xs element name request gt lt xs element gt lt xs element name response gt lt xs element gt lt xs schema gt lt types gt lt Abstract interfaces gt lt interface name Interface1 gt lt fault name Error1 element tns response gt lt operation name Get pattern http www w3 org ns wsdl in out gt lt input messageLabel In element tns request gt lt output messageLabel Out element tns response gt lt operation gt lt interface gt lt Concrete Binding Over HTTP gt lt binding name HttpBinding interface tns Interface1 type http www w3 org ns wsdl http gt lt operation ref tns Get whttp method GET gt lt binding gt lt Concrete Binding with SOAP gt lt binding name SoapBinding interface tns Interface1 type http www w3 org ns wsdl soap wsoap protocol http www w3 org 2003 05 soap bindings HTTP wsoap mepDefault http www w3 org 2003 05 soap mep request response gt lt operation ref tns Get gt lt binding gt lt Web Service offering endpoints for both bindings gt lt service name Service1 interface tns Interface1 gt lt endpoint name HttpEndpoint binding tns HttpBinding address http www example com rest gt lt endpoint name SoapEndpoint binding tns SoapBinding address http www example com soap gt lt service gt lt description gt IstoriyaWSDL 1 0 u veresni 2000 buv rozroblenij IBM Microsoft i Ariba dlya opisu vebsluzhb dlya yih SOAP instrumentariyu Vin buv pobudovanij za rahunok poyednannya dvoh mov opisu servisiv NASSL Network Application Service Specification Language vid IBM i SDL Service Description Language vid Microsoft WSDL 1 1 opublikovanij v berezni 2001 roku formalizaciya WSDL 1 0 ne bulu vvedeno zhodnih istotnih zmin vid 1 0 do 1 1 WSDL 1 2 cherven 2003 buv robochij proekt W3C ale stav WSDL 2 0 Zgidno W3C WSDL 1 2 prostishij i bilsh gnuchkij dlya rozrobnikiv nizh v poperednya versiya WSDL 1 2 namagayetsya vidaliti nesumisni funkciyi a takozh viznachaye binding HTTP 1 1 binding krashe WSDL 1 2 ne pidtrimuvavsya bilshistyu SOAP serveriv ta postachalnikiv WSDL 2 0 stav rekomendaciyeyu W3C v chervni 2007 roku WSDL 1 2 buv perejmenovanij v WSDL 2 0 oskilki vin mav istotni vidminnosti vid WSDL 1 1 Zmini polyagayut u nastupnomu Dodana dodatkova semantika do movi opisu Vilucheni konstrukciyi povidomlen Perevantazhennya operatoriv ne pidtrimuyetsya PortType perejmenovano v interfejs Porti perejmenovanij v kincevi tochkiDivitisya takozh en Simple Object Access Protocol SOAP en WCFPosilannya www w3 org Arhiv originalu za 4 sichnya 2017 Procitovano 25 grudnya 2016 www w3 org Arhiv originalu za 25 sichnya 2017 Procitovano 25 grudnya 2016 Chaturvedi A 1 grudnya 2014 2014 IEEE 6th International Conference on Cloud Computing Technology and Science s 715 718 doi 10 1109 CloudCom 2014 144 Arhiv originalu za 12 lipnya 2017 Procitovano 25 grudnya 2016 Zovnishni posilannyaWSDL 1 0 specifikaciya 27 lipnya 2017 u Wayback Machine WSDL 1 1 specifikaciya 15 sichnya 2009 u Wayback Machine WSDL 2 0 specifikaciya chastina 0 Primer ostannya versiya 4 sichnya 2017 u Wayback Machine WSDL 2 0 specifikaciya chastina 1 Core ostannya versiya 21 sichnya 2009 u Wayback Machine WSDL 2 0 specifikaciya 2 Adjuncts ostannya versiya 11 sichnya 2017 u Wayback Machine Web Services Description Working Group 20 sichnya 2017 u Wayback Machine XML protokol 7 sichnya 2017 u Wayback Machine JSR 110 Java APIs dlya WSDL 31 zhovtnya 2020 u Wayback Machine JSR 172 Java ME Web specifikaciya servisu 2 travnya 2012 u Wayback Machine WSDL Java Bindings 11 kvitnya 2009 u Wayback Machine dlya XMLBeans and JAXB W3C Working Draft 26 serpnya 2016 u Wayback Machine RELAX WS prosta mova dlya viznachennya veb servisu zasnovana na RELAX NG Compact Syntax WSDL poglyad zseredini chastina I 30 sichnya 2017 u Wayback Machine chastina II 11 lyutogo 2017 u Wayback Machine