پایانه WSDL

پورت WSDL می‌تواند رابطی را که یک وب‌سرویس ارائه می‌دهد (عمل‌های قانونی) توصیف کند.

پایانه WSDL

<portType> عنصر مهم‌ترین عنصر WSDL است.

این می‌تواند یک web service، قابل اجرامرتبط، و عمل‌هایپیام.

پورت تعریف می‌کند که به یک وب‌سرویس متصل می‌شود. می‌توان این عنصر را مانند یک کتابخانه (یا یک ماژول، یا یک کلاس) در یک زبان برنامه‌نویسی سنتی مقایسه کرد، و هر عمل را مانند یک تابع در یک زبان برنامه‌نویسی سنتی در نظر گرفت.

نوع عمل

درخواست-پاسخ نوع معمولی‌ترین عمل است، اما WSDL چهار نوع را تعریف کرده است:

نوع تعریف
یک‌طرفه این عمل می‌تواند پیام را پذیرا باشد، اما پاسخی باز نمی‌گرداند.
درخواست-پاسخ این عمل می‌تواند یک درخواست را پذیرا باشد و به پاسخ بازمی‌گردد
درخواست-پاسخ این عمل می‌تواند یک درخواست ارسال کند و به پاسخ منتظر می‌ماند.
اطلاع‌رسانی این عمل می‌تواند یک پیام را ارسال کند، اما به پاسخ منتظر نمی‌ماند.

عمل یک‌طرفه

مثالی از یک عمل یک‌طرفه:

<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 >

در این مثال، پورت "glossaryTerms" یک عمل یک‌طرفه به نام "setTerm" را تعریف کرده است.

این عملیات "setTerm" پیام‌های جدید جدول اصطلاحات ورودی را که از پیام به نام "newTermValues" استفاده می‌کند و پارامترهای ورودی "term" و "value" را دارد، می‌پذیرد. اما هیچ خروجی برای این عملیات تعریف نشده است.

عملیات Request-Response

مثالی از یک عملیات request-response:

<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>

در این مثال، پورت "glossaryTerms" یک عملیات request-response به نام "getTerm" را تعریف کرده است.

عملیات "getTerm" درخواست یک پیام ورودی به نام "getTermRequest" را که دارای پارامتر به نام "term" است و یک پیام خروجی به نام "getTermResponse" را که دارای پارامتر به نام "value" است، بازمی‌گرداند.