دروس XML

الصفحة الرئيسية لـ XML مقدمة XML كيفية استخدام XML شجرة XML بناء جملة XML عناصر XML سمات XML مساحات أسماء XML عرض XML طلب XML HttpRequest محلل XML XML DOM XML XPath XML XSLT XML XQuery XML XLink مدقق XML XML DTD مخطط XML خادم XML أمثلة XML مسابقة XML شهادة XML

XML AJAX

مقدمة أجاكس أجاكس XMLHttp طلب AJAX استجابة AJAX ملف AJAX XML أجاكس بي إتش بي أجاكس آسيا والمحيط الهادئ قاعدة بيانات أجاكس تطبيقات أجاكس أمثلة AJAX

XML DOM

مقدمة حول DOM عقد DOM الوصول إلى DOM معلومات عقدة DOM قائمة عقدة DOM عبور DOM التنقل في DOM DOM احصل على القيم DOM تغيير العقد DOM إزالة العقد استبدل DOM Nodes DOM إنشاء العقد DOM أضف العقد عقد استنساخ DOM أمثلة DOM

دروس XPath

مقدمة XPath عقد XPath بناء جملة XPath محاور XPath مشغلي XPath أمثلة XPath

XSLT التعليمي

XSLT مقدمة لغات XSL تحويل XSLT XSLT <template> XSLT <قيمة> XSLT <للجميع> XSLT <ترتيب> XSLT <if> XSLT <اختر> XSLT تطبيق XSLT على العميل XSLT على الخادم XSLT تحرير XML أمثلة XSLT

XQuery تعليمي

XQuery مقدمة مثال XQuery XQuery FLWOR XQuery HTML شروط XQuery بناء جملة XQuery XQuery إضافة XQuery حدد وظائف XQuery

XML DTD

مقدمة DTD مكعبات بناء DTD عناصر DTD سمات DTD عناصر DTD مقابل Attr كيانات DTD أمثلة DTD

مخطط XSD

مقدمة XSD XSD كيف XSD <المخطط عناصر XSD سمات XSD قيود XSD

مجمع XSD

عناصر XSD XSD فارغ عناصر XSD فقط نص XSD فقط XSD مختلط مؤشرات XSD XSD <أي> XSD <أي سمة> تبديل XSD مثال XSD

بيانات XSD

سلسلة XSD تاريخ XSD XSD الرقمية XSD متفرقات مرجع XSD

خدمات الويب

خدمات XML XML WSDL صابون XML XML RDF XML RSS

مراجع

أنواع عقدة DOM عقدة DOM قائمة عقدة DOM DOM NamedNodeMap مستند DOM عنصر DOM سمة DOM نص DOM DOM CDATA تعليق DOM DOM XMLHttpRequest محلل DOM عناصر XSLT وظائف XSLT / XPath

XML WSDL


  • WSDL تعني لغة وصف خدمات الويب
  • يستخدم WSDL لوصف خدمات الويب
  • تمت كتابة WSDL في XML
  • WSDL هو توصية W3C من 26. يونيو 2007

وثائق WSDL

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

Element Description
<types> Defines the (XML Schema) data types used by the web service
<message> Defines the data elements for each operation
<portType> Describes the operations that can be performed and the messages involved.
<binding> Defines the protocol and data format for each port type

يبدو الهيكل الرئيسي لوثيقة 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

هذا جزء مبسط من مستند 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".

تحدد عناصر < الرسالة> أجزاء كل رسالة وأنواع البيانات المرتبطة بها.


عنصر <portType>

يحدد العنصر <portType> خدمة ويب والعمليات التي يمكن تنفيذها والرسائل المتضمنة.

نوع الطلب والاستجابة هو أكثر أنواع العمليات شيوعًا ، لكن WSDL يحدد أربعة أنواع:

Type Definition
One-way The operation can receive a message but will not return a response
Request-response The operation can receive a request and will return a response
Solicit-response The operation can send a request and will wait for a response
Notification The operation can send a message but will not wait for a response

عملية 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 >

في المثال أعلاه ، يعرف portType "glossaryTerms" عملية أحادية الاتجاه تسمى "setTerm".

تسمح عملية "setTerm" بإدخال رسائل مصطلحات المسرد الجديدة باستخدام رسالة "newTermValues" مع معلمات الإدخال "term" و "value". ومع ذلك ، لم يتم تحديد مخرجات للعملية.


عملية استجابة طلب 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" مع معلمة تسمى "term" ، وستقوم بإرجاع رسالة إخراج تسمى "getTermResponse" بمعامل يسمى "القيمة".


WSDL ملزم بالـ SOAP

تحدد روابط 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>

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

عنصر الربط له سمتان - الاسم والنوع.

تحدد سمة الاسم (يمكنك استخدام أي اسم تريده) اسم الربط ، وتشير سمة النوع إلى منفذ الربط ، وفي هذه الحالة منفذ "glossaryTerms".

الصابون: عنصر الربط له سمتان - الأسلوب والنقل.

يمكن أن تكون سمة النمط "rpc" أو "document". في هذه الحالة نستخدم الوثيقة. تحدد سمة النقل بروتوكول SOAP المراد استخدامه. في هذه الحالة نستخدم HTTP.

يحدد عنصر العملية كل عملية يعرضها portType.

لكل عملية يجب تحديد إجراء SOAP المقابل. يجب عليك أيضًا تحديد كيفية ترميز المدخلات والمخرجات. في هذه الحالة نستخدم كلمة "حرفي".