آموزش WSDL > مفهوم المنت Biding در <portType>

مفهوم <Binding> در WSDL :

همانطور که در بخش قبل اشاره کردیم ، المنت <Binding> ، در یک سند WSDL ، فرمت داده ای و پروتکلی که وب سرویس برای ارسال و دریافت اطلاعات خود از آنها استفاده می کند ، را تعیین می نماید .
در این بخش نمونه یک کد وب سرویس را به شما نمایش داده ایم .
این وب سرویس از یک تابع request-response ، برای ارسال اطلاعات خود استفاده می کند . در این مثال نشان داده ایم که چگونه یک المنت <Binding> ، پروتکل و فرمت داده ای را برای یک المنت <portType> تعیین می کند .
کد مثال را مرور نمایید ، سپس به تشریح هر یک از بخش های آن پرداخته ایم :

کد نمونه
یک سند
WSDL
با المنت
Binding
<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>

تشریح کد مثال :

  1. المنت <Binding> دارای 2 خاصیت مهم است : name و type  .
    خاصیت name یک نام دلخواه را برای المنت <Binding> تعیین می کند ( می توانید هر نامی را به کار ببرید ) ، که از این نام برای دسترسی به المنت در سطح برنامه استفاده می شود .
    خاصیت type نیز به المنت <portType> ای اشاره می کند ، که المنت <Binding> ، نوع پروتکل آن را تعیین می کند . در این مثال مقدار این خاصیت ، glossaryTerms می باشد .
  2. همچنین المنت <soap:binding> ، دو خاصیت مهم دارد : style و transport .
    خاصیت style می تواند دو مقدار " rpc " یا " documnet " را داشته باشد ، که ما در این مثال ، مقدار " document " را انتخاب کرده ایم .
    خاصیت transport ، نیز نوع پروتکل SOAP مورد استفاده را برای ارسال اطلاعات بر روی اینترنت تعیین کرده است ، که در این مثال HTTP می باشد .
  3. المنت operation نیز ، هر تابع یا operation مربوط به المنت <portType> که قرار است اجرا شود ، را تعیین می کند .
    برای هر operation یک خاصیت soapAction متناظر با آن نیز باید تعیین شود .
    همچنین باید تعیین نمایید که هر المنت input و output اطلاعات خود را به چه صورت کد نماید ، که در مثال فوق ما از literal ، به معنای فرمت متنی استفاده نموده ایم .