WSDL (XML WSDL)
اینجا درباره WSDL حرف می زنیم. «WSDL» یعنی Web Services Description Language. یعنی نقشه سرویس وب. سند WSDL محل سرویس و متدها را تعریف می کند. همه چیز هم با XML نوشته می شود.
اسناد WSDL
سند WSDL سرویس را توصیف می کند. آدرس سرویس و عملیات ها را می گوید. چهار بخش اصلی دارد: types، message، portType و binding.
| عنصر | توضیح |
|---|---|
| <types> | نوع های داده XML Schema سرویس را تعریف می کند. |
| <message> | اجزای داده برای هر عملیات را مشخص می کند. |
| <portType> | عملیات ها و پیام های درگیر را توصیف می کند. |
| <binding> | پروتکل و قالب پیام برای هر پورت را می گوید. |
ساختار کلی یک WSDL معمولاً این گونه است.
<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
در این مثال، یک درخواست و پاسخ برای گرفتن یک واژه داریم.
<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>
انواع عملیات در <portType>
چهار نوع عملیات داریم. «درخواست-پاسخ» رایج ترین است. بقیه هم کاربردی هستند.
| نوع | تعریف |
|---|---|
| One-way | پیام دریافت می شود؛ پاسخی برنمی گردد. |
| Request-response | یک درخواست می آید؛ یک پاسخ برمی گردد. |
| Solicit-response | سرویس درخواست می فرستد؛ منتظر پاسخ می ماند. |
| Notification | یک پیام می فرستد؛ پاسخی نمی خواهد. |
اتصال WSDL به SOAP (Binding)
binding فرمت پیام و جزئیات پروتکل را تعیین می کند. در اینجا، SOAP روی HTTP و سبک document استفاده شده است.
<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>
گام های عملی
- نوع ها را در <types> تعریف کن.
- پیام ها را با <message> مشخص کن.
- عملیات را در <portType> بساز.
- binding را با SOAP و HTTP تعیین کن.
برای مسیر یادگیری، صفحه XML Services را ببین. سپس به SOAP برو. همچنین لینک با کلیدواژه: WSDL.
جمع بندی سریع
- WSDL نقشه سرویس است.
- portType عملیات ها را تعریف می کند.
- message اجزای داده را می گوید.
- binding پروتکل و قالب را مشخص می کند.
- SOAP معمولاً روی HTTP می آید.
منابع بیرونی: WSDL در W3Schools و XML Services.