Προφορικό WSDL

Η θύρα του WSDL μπορεί να περιγράψει την επιφάνεια (νόμιμες λειτουργίες) που παρέχει ένας web service.

Προφορικό WSDL

<portType> στοιχείο είναι οι πιο σημαντικά στοιχεία του WSDL.

μπορεί να περιγράψει ένα web service、να εκτελεστούνλειτουργίεςκαι τις σχετικέςΜήνυμα.

Η θύρα ορίζει τον σημείο σύνδεσης για έναν web service. Μπορεί να συγκριθεί με μια βιβλιοθήκη (ή ένα μοジュλ, ή μια κλάση) σε παραδοσιακά γλώσσες προγραμματισμού και κάθε λειτουργία με μια συνάρτηση.

Τύπος Λειτουργίας

Το αίτημα-απάντηση είναι ο πιο συνηθισμένος τύπος λειτουργίας, αλλά το 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 >

Σε αυτόν τον παράδειγμα, η θύρα "glossaryTerms" ορίζει μια μονοδρομική λειτουργία με το όνομα "setTerm".

Η λειτουργία "setTerm" μπορεί να δεχτεί είσοδο μηνυμάτων νέων κατατάξεων, αυτά τα μηνύματα χρησιμοποιούν ένα μήνυμα με το όνομα "newTermValues", το μήνυμα αυτό έχει παραμέτρους εισόδου "term" και "value". Ωστόσο, δεν έχει οριστεί καμία έξοδος για αυτή τη λειτουργία.

Λειτουργία Request-Response

Ένα παράδειγμα λειτουργίας request-response:

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

Σε αυτό το παράδειγμα, ο προφορικός "glossaryTerms" ορίζει μια λειτουργία request-response με το όνομα "getTerm".

Η λειτουργία "getTerm" ζητά μια είσοδο μηνύματος με το όνομα "getTermRequest", το μήνυμα αυτό έχει έναν παράμετρο με το όνομα "term" και επιστρέφει ένα μήνυμα εξόδου με το όνομα "getTermResponse", το μήνυμα αυτό έχει έναν παράμετρο με το όνομα "value".