- اختصار لتقف على لغة وصف خدمات الويب
- يستخدم اختصار لوصف خدمات الويب
- هو مكتوب اختصار في XML
- اختصار هو توصية W3C من 26. يونيو 2007
المستندات اختصار
وتصف وثيقة WSDL خدمة ويب. ويحدد موقع هذه الخدمة، وأساليب الخدمة، وذلك باستخدام هذه عناصر رئيسية هي:
العنصر | وصف |
---|---|
<types> | يحدد (XML Schema) أنواع البيانات المستخدمة من قبل خدمة الويب |
<message> | يحدد عناصر البيانات لكل عملية |
<portType> | يصف العمليات التي يمكن القيام بها والرسائل المعنية. |
<binding> | يحدد شكل بروتوكول والبيانات لكل نوع الميناء |
الهيكل الرئيسي من وثيقة اختصار يبدو مثل هذا:
<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>
اختصار مثال
هذا هو جزء مبسط من وثيقة اختصار:
<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" كاسم لل port ، و "getTerm" كاسم لل operation .
و "getTerm" عملية لها input message يسمى "getTermRequest" و output message يسمى "getTermResponse" .
و <message> عناصر تحدد parts من كل رسالة وأنواع البيانات المرتبطة بها.
و <portType> العنصر
و <portType> يعرف عنصر a web service ، و operations التي يمكن القيام بها، و messages التي ينطوي عليها.
نوع طلب استجابة هو نوع العملية الأكثر شيوعا، ولكن اختصار يحدد أربعة أنواع:
اكتب | تعريف |
---|---|
One-way | العملية يمكن أن تتلقى رسالة ولكن لن تعود استجابة |
Request-response | العملية يمكن الحصول على طلب وسيعود استجابة |
Solicit-response | العملية يمكن إرسال الطلب وسوف انتظر رد |
Notification | العملية يمكن أن ترسل رسالة لكنها لن تنتظر ردا |
اختصار في اتجاه واحد عملية
A-طريقة عملية واحدة على سبيل المثال:
<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 >
في المثال أعلاه، portType "glossaryTerms" تعرف عملية في اتجاه واحد يسمى "setTerm" .
و "setTerm" تتيح عملية إدخال الرسائل حيث مسرد جديدة باستخدام "newTermValues" الرسالة مع معلمات الإدخال "term" و "value" . ومع ذلك، يتم تعريف أي نتيجة لهذه العملية.
اختصار طلب استجابة عملية
وطلب استجابة عملية سبيل المثال:
<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" مع معلمة يسمى "term" ، وستعود رسالة الانتاج يسمى "getTermResponse" مع معلمة يسمى "value" .
اختصار ملزم لالصابون
الارتباطات اختصار تحدد الرسالة شكل وبروتوكول تفاصيل عن خدمة الإنترنت.
وطلب استجابة عملية سبيل المثال:
<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>
<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>
و binding عنصر له سمتان - الاسم والنوع.
و name السمة (you can use any name you want) وتعرف باسم الربط، و type نقاط السمة إلى ميناء لملزمة، في هذه الحالة "glossaryTerms" الميناء.
و soap:binding عنصر له سمتان - أسلوب والنقل.
على style السمة يمكن أن يكون "rpc" أو "document" . في هذه الحالة نستخدم ثيقة. و transport تحدد السمة بروتوكول SOAP للاستخدام. في هذه الحالة نستخدم HTTP.
و operation يحدد العنصر كل العملية التي يعرض portType.
لكل عملية العمل الصابون المقابلة لابد من تعريف. يجب أيضا تحديد كيف يتم ترميز المدخلات والمخرجات. في هذه الحالة نستخدم "literal" .