مفهوم <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> دارای ۲ خاصیت مهم است : 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 ، به معنای فرمت متنی استفاده نموده ایم .