ساختار های مختلف فایل WSDL

  • مدرس : علی بیگدلی
  • تاریخ انتشار: 1404/02/08
  • تعداد بازدید: 17

فایل WSDL به‌طور کلی از چند بخش اصلی تشکیل شده است که هر کدام نقش خاصی در توصیف سرویس وب دارند. این بخش‌ها به سرویس‌گیرنده کمک می‌کنند تا نحوه تعامل با سرویس وب را درک کند و به سرویس‌دهنده اجازه می‌دهند تا مشخصات سرویس خود را به‌طور واضح بیان کند.

1. Types (انواع داده‌ها)

بخش types در فایل WSDL برای تعریف انواع داده‌هایی استفاده می‌شود که در پیام‌های SOAP استفاده می‌شوند. این بخش به‌طور معمول شامل تعریف انواع پیچیده‌ای از داده‌هاست که ممکن است از ساختارهای داده‌ای مانند لیست‌ها یا جداول استفاده کنند. این تعریف‌ها معمولاً به‌صورت XML Schema نوشته می‌شوند.

مثال:

<types>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
        <xs:complexType name="Person">
            <xs:sequence>
                <xs:element name="name" type="xs:string"/>
                <xs:element name="age" type="xs:int"/>
            </xs:sequence>
        </xs:complexType>
    </xs:schema>
</types>

در این مثال:

  • یک نوع پیچیده به نام Person تعریف شده است که شامل دو عنصر است: name از نوع string و age از نوع int.

2. Messages (پیام‌ها)

بخش messages برای توصیف داده‌هایی است که در ارتباطات SOAP ارسال و دریافت می‌شوند. هر پیام می‌تواند شامل یک یا چند پارامتر باشد که با استفاده از انواع داده‌های تعریف‌شده در بخش types مشخص می‌شود.

مثال:

<messages>
    <message name="getPersonRequest">
        <part name="personId" type="xs:int"/>
    </message>
    <message name="getPersonResponse">
        <part name="person" type="tns:Person"/>
    </message>
</messages>

در این مثال:

  • پیام getPersonRequest شامل یک پارامتر به نام personId است.

  • پیام getPersonResponse شامل یک پارامتر به نام person است که نوع آن از نوع Person است (که در بخش types تعریف شده).

3. Port Types (نوع پورت‌ها)

بخش portType تعریف می‌کند که سرویس چه عملیات‌هایی را ارائه می‌دهد. هر عملیات معمولاً یک یا چند پیام را دریافت می‌کند و یک پیام را باز می‌گرداند. این بخش به‌نوعی شبیه به تعریف متدهای یک API است که درخواست‌ها و پاسخ‌ها را مشخص می‌کند.

مثال:

<portType name="PersonServicePortType">
    <operation name="getPerson">
        <input message="tns:getPersonRequest"/>
        <output message="tns:getPersonResponse"/>
    </operation>
</portType>

در این مثال:

  • عملیات getPerson تعریف شده است که یک پیام ورودی (getPersonRequest) دریافت می‌کند و یک پیام خروجی (getPersonResponse) باز می‌گرداند.

4. Binding (اتصال)

بخش binding مشخص می‌کند که هر عملیات چگونه از پروتکل‌های مختلف (مثل SOAP) برای ارسال پیام‌ها استفاده می‌کند. این بخش مشخص می‌کند که چطور پیام‌ها به فرمت‌های خاصی (مثل XML یا SOAP) تبدیل شوند.

5. Service (سرویس)

بخش service آدرس‌های مختلفی را که می‌توان از آن‌ها برای دسترسی به سرویس استفاده کرد، معرفی می‌کند. این بخش شامل portها است که مشخص می‌کند سرویس از کدام پورت برای ارتباط استفاده می‌کند.

مثال:

<service name="PersonService">
    <port name="PersonServicePort" binding="tns:PersonServiceBinding">
        <soap:address location="http://www.example.com/personService"/>
    </port>
</service>

در این مثال:

  • سرویس PersonService به پورت PersonServicePort وصل است که از پروتکل SOAP استفاده می‌کند.

  • آدرس http://www.example.com/personService محل سرویس است.

خلاصه:

  • Types: انواع داده‌ها را که در پیام‌های SOAP استفاده می‌شوند، تعریف می‌کند.

  • Messages: پیام‌هایی که بین سرویس‌دهنده و سرویس‌گیرنده رد و بدل می‌شوند، شامل پارامترها و داده‌ها را تعریف می‌کند.

  • Port Types: عملیات‌هایی که سرویس ارائه می‌دهد، همراه با ورودی‌ها و خروجی‌ها.

  • Binding: نحوه ارتباط از طریق پروتکل‌های مختلف.

  • Service: محل و آدرس سرویس‌ها برای دسترسی به آن‌ها.

این ساختار به سرویس‌دهنده و سرویس‌گیرنده کمک می‌کند تا به‌صورت دقیق با یکدیگر ارتباط برقرار کنند.

ثبت دیدگاه


نکته: آدرس ایمیل شما منتشر نخواهد شد

دیدگاه کاربران (0)


هیچ دیدگاهی ثبت نشده است می توانید اولین نفر باشید