مستند WSDL

وثيقة WSDL هي مجرد وثيقة XML بسيطة.

يحتوي ذلك على سلسلة من التعريفات التي تصف خدمة الويب.

هيكل وثيقة WSDL

وثيقة WSDL تستخدم هذه العناصر الرئيسية لوصف خدمة الويب الخاصة بك:

العنصر تعريف
<portType> العمليات التي تنفذها خدمة الويب
<message> رسائل يستخدمها خدمة الويب
<types> أنواع البيانات المستخدمة من قبل خدمة الويب
<binding> بروتوكول التواصل المستخدم من قبل خدمة الويب

يكون بنية وثيقة WSDL الرئيسية مثل هذا:

<definitions>
<types>
   تعريف أنواع........
</types>
<message>
   تعريف رسالة....
</message>
<portType>
   تعريف منفذ.......
</portType>
<binding>
   تعريف مربع الاتصال....
</binding>
</definitions>

يمكن أن تحتوي وثيقة WSDL على عناصر أخرى مثل عنصر extension، وعنصر service، الذي يمكن أن يجمع تعريفات عدة خدمات ويب في وثيقة WSDL واحدة.

للحصول على ملخص شامل للنحو، يرجى زيارة جملات WSDL هذه الفقرة.

پایانه WSDL

<portType> العنصر هو العنصر الأكثر أهمية في WSDL.

يصف ذلك خدمة الويب القابلة للتنفيذ والعمليات المرتبطة بها ورسائلها.

يمكن مقارنة عنصر <portType> بلوحة المكتبات في لغة البرمجة التقليدية (أو وحدة أو فئة).

رسائل WSDL

<message> يحدد العنصر عناصر البيانات للعمليات.

كل رسالة تتكون من جزء واحد أو أكثر. يمكن مقارنة هذه الأجزاء بمتغيرات الدعوة للوظيفة في لغة البرمجة التقليدية.

أنواع WSDL

<types> يحدد العنصر أنواع البيانات المستخدمة في خدمة الويب.

لتحقيق مستوى عالٍ من الحياد على المنصة، يستخدم WSDL لغة XML Schema لتحديد أنواع البيانات.

مربعات الاتصال الخاصة بـ WSDL

<binding> العنصر يحدد نموذج الرسائل وأدق التفاصيل للبروتوكول لكل منفذ.

مثال WSDL

این یک بخش ساده‌شده از یک مستند 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> عنصر "glossaryTerms" را به عنوان یکپایانهنام، "getTerm" را به عنوان یکعملنام.

عمل "getTerm" دارای یک نام به نام "getTermRequest" استپیام ورودیو همچنین یک پیام به نام "getTermResponse"پیام خروجی.

<message> عنصر می‌تواند هر پیام را تعریف کندقسمتو همچنین نوع‌های مرتبط با آن.

در مقایسه با برنامه‌نویسی سنتی، glossaryTerms یک کتابخانه است و "getTerm" یک تابع با ورودی "getTermRequest" و خروجی getTermResponse است.