Εκπαιδευτικό πρόγραμμα για υπηρεσίες SOAP ΠΑΡΑΔΕΙΓΜΑ

Πίνακας περιεχομένων:

Anonim

Τι είναι το σαπούνι;

Το SOAP είναι ένα πρωτόκολλο που βασίζεται σε XML για πρόσβαση σε υπηρεσίες ιστού μέσω HTTP. Έχει κάποιες προδιαγραφές που θα μπορούσαν να χρησιμοποιηθούν σε όλες τις εφαρμογές.

Το SOAP είναι γνωστό ως Simple Object Access Protocol, αλλά σε μεταγενέστερους χρόνους μόλις συντομεύτηκε σε SOAP v1.2. Το SOAP είναι ένα πρωτόκολλο ή με άλλα λόγια είναι ένας ορισμός του τρόπου με τον οποίο οι υπηρεσίες Ιστού μιλούν μεταξύ τους ή μιλούν σε εφαρμογές πελατών που τις επικαλούνται.

Το SOAP αναπτύχθηκε ως ενδιάμεση γλώσσα, έτσι ώστε εφαρμογές που βασίζονται σε διάφορες γλώσσες προγραμματισμού να μπορούν να μιλούν εύκολα μεταξύ τους και να αποφεύγουν την ακραία προσπάθεια ανάπτυξης.

Σε αυτό το φροντιστήριο υπηρεσιών SOAP Web, θα μάθετε-

  • Εισαγωγή σαπουνιού
  • Πλεονεκτήματα του σαπουνιού
  • Δομικά στοιχεία σαπουνιού
  • Δομή μηνυμάτων SOAP
  • Στοιχείο φακέλου σαπουνιού
  • Μοντέλο επικοινωνίας SOAP
  • Πρακτικό παράδειγμα σαπουνιού

Εισαγωγή σαπουνιού

Στον σημερινό κόσμο, υπάρχει τεράστιος αριθμός εφαρμογών που βασίζονται σε διαφορετικές γλώσσες προγραμματισμού. Για παράδειγμα, θα μπορούσε να υπάρχει μια εφαρμογή ιστού σχεδιασμένη σε Java, άλλη σε .Net και άλλη σε PHP.

Η ανταλλαγή δεδομένων μεταξύ εφαρμογών είναι ζωτικής σημασίας στον σημερινό δικτυακό κόσμο. Αλλά η ανταλλαγή δεδομένων μεταξύ αυτών των ετερογενών εφαρμογών θα ήταν περίπλοκη. Έτσι θα είναι η πολυπλοκότητα του κώδικα για την πραγματοποίηση αυτής της ανταλλαγής δεδομένων.

Μία από τις μεθόδους που χρησιμοποιούνται για την καταπολέμηση αυτής της πολυπλοκότητας είναι η χρήση XML (Extensible Markup Language) ως η ενδιάμεση γλώσσα για την ανταλλαγή δεδομένων μεταξύ εφαρμογών.

Κάθε γλώσσα προγραμματισμού μπορεί να κατανοήσει τη γλώσσα σήμανσης XML. Ως εκ τούτου, το XML χρησιμοποιήθηκε ως το υποκείμενο μέσο για την ανταλλαγή δεδομένων.

Αλλά δεν υπάρχουν τυπικές προδιαγραφές για τη χρήση του XML σε όλες τις γλώσσες προγραμματισμού για την ανταλλαγή δεδομένων. Εκεί μπαίνει το λογισμικό SOAP.

Το SOAP σχεδιάστηκε για να λειτουργεί με XML μέσω HTTP και να έχει κάποιο είδος προδιαγραφής που θα μπορούσε να χρησιμοποιηθεί σε όλες τις εφαρμογές. Θα εξετάσουμε περαιτέρω λεπτομέρειες σχετικά με το πρωτόκολλο SOAP στα επόμενα κεφάλαια.

Πλεονεκτήματα του σαπουνιού

Το SOAP είναι το πρωτόκολλο που χρησιμοποιείται για την ανταλλαγή δεδομένων μεταξύ εφαρμογών. Ακολουθούν μερικοί από τους λόγους για τους οποίους χρησιμοποιείται το SOAP.

  • Όταν αναπτύσσετε υπηρεσίες Web με βάση το SOAP, πρέπει να έχετε κάποια γλώσσα που μπορεί να χρησιμοποιηθεί για υπηρεσίες web για να μιλήσετε με εφαρμογές πελατών. Το SOAP είναι το τέλειο μέσο που αναπτύχθηκε για την επίτευξη αυτού του σκοπού. Αυτό το πρωτόκολλο συνιστάται επίσης από την κοινοπραξία W3C, η οποία είναι το διοικητικό όργανο για όλα τα πρότυπα ιστού.
  • Το SOAP είναι ένα ελαφρύ πρωτόκολλο που χρησιμοποιείται για ανταλλαγή δεδομένων μεταξύ εφαρμογών. Σημειώστε τη λέξη-κλειδί « φως ». Δεδομένου ότι ο προγραμματισμός SOAP βασίζεται στη γλώσσα XML, η οποία από μόνη της είναι μια ελαφριά γλώσσα ανταλλαγής δεδομένων, ως εκ τούτου το SOAP ως πρωτόκολλο που εμπίπτει επίσης στην ίδια κατηγορία.
  • Το SOAP έχει σχεδιαστεί για να είναι ανεξάρτητο από την πλατφόρμα και έχει επίσης σχεδιαστεί για να είναι ανεξάρτητο από το λειτουργικό σύστημα. Έτσι, το πρωτόκολλο SOAP μπορεί να λειτουργήσει οποιεσδήποτε εφαρμογές που βασίζονται σε γλώσσα προγραμματισμού τόσο στην πλατφόρμα Windows όσο και σε Linux.
  • Λειτουργεί με το πρωτόκολλο HTTP -SOAP λειτουργεί στο πρωτόκολλο HTTP, το οποίο είναι το προεπιλεγμένο πρωτόκολλο που χρησιμοποιείται από όλες τις εφαρμογές ιστού. Ως εκ τούτου, δεν υπάρχει κανένα είδος προσαρμογής που απαιτείται για την εκτέλεση των υπηρεσιών διαδικτύου που βασίζονται στο πρωτόκολλο SOAP για να λειτουργήσει στον Παγκόσμιο Ιστό.

Δομικά στοιχεία σαπουνιού

Η προδιαγραφή SOAP ορίζει κάτι γνωστό ως " μήνυμα SOAP ", το οποίο αποστέλλεται στην υπηρεσία διαδικτύου και στην εφαρμογή πελάτη.

Το παρακάτω διάγραμμα της αρχιτεκτονικής SOAP δείχνει τα διάφορα δομικά στοιχεία ενός μηνύματος SOAP.

Δομικά στοιχεία μηνυμάτων SOAP

Το μήνυμα SOAP δεν είναι παρά ένα απλό έγγραφο XML που έχει τα παρακάτω στοιχεία.

  • Ένα στοιχείο φακέλου που προσδιορίζει το έγγραφο XML ως μήνυμα SOAP - Αυτό είναι το μέρος που περιέχει το μήνυμα SOAP και χρησιμοποιείται για την ενσωμάτωση όλων των λεπτομερειών στο μήνυμα SOAP. Αυτό είναι το ριζικό στοιχείο στο μήνυμα SOAP.
  • Ένα στοιχείο κεφαλίδας που περιέχει πληροφορίες κεφαλίδας - Το στοιχείο κεφαλίδας μπορεί να περιέχει πληροφορίες όπως διαπιστευτήρια ελέγχου ταυτότητας που μπορούν να χρησιμοποιηθούν από την εφαρμογή κλήσης. Μπορεί επίσης να περιέχει τον ορισμό των πολύπλοκων τύπων που θα μπορούσαν να χρησιμοποιηθούν στο μήνυμα SOAP. Από προεπιλογή, το μήνυμα SOAP μπορεί να περιέχει παραμέτρους που θα μπορούσαν να είναι απλών τύπων όπως συμβολοσειρές και αριθμοί, αλλά μπορεί επίσης να είναι ένας σύνθετος τύπος αντικειμένου.

Ένα απλό παράδειγμα υπηρεσίας SOAP σύνθετου τύπου φαίνεται παρακάτω.

Ας υποθέσουμε ότι θέλαμε να στείλουμε έναν τύπο δομημένων δεδομένων που είχε έναν συνδυασμό "Όνομα Tutorial" και "Περιγραφή Tutorial", τότε θα ορίσαμε τον σύνθετο τύπο όπως φαίνεται παρακάτω.

Ο τύπος συμπλόκου ορίζεται από την ετικέτα στοιχείου . Στη συνέχεια, όλα τα απαιτούμενα στοιχεία της δομής μαζί με τους αντίστοιχους τύπους δεδομένων καθορίζονται στη συλλογή σύνθετων τύπων.

  • Ένα στοιχείο σώματος που περιέχει πληροφορίες κλήσης και απόκρισης - Αυτό το στοιχείο είναι αυτό που περιέχει τα πραγματικά δεδομένα που πρέπει να σταλούν μεταξύ της υπηρεσίας ιστού και της εφαρμογής κλήσης. Ακολουθεί ένα παράδειγμα διαδικτυακής υπηρεσίας SOAP του σώματος SOAP που λειτουργεί πραγματικά στον σύνθετο τύπο που ορίζεται στην ενότητα κεφαλίδας. Ακολουθεί η απάντηση του ονόματος και της περιγραφής του οδηγού που αποστέλλεται στην εφαρμογή κλήσης που καλεί αυτήν την υπηρεσία ιστού.
Web ServicesAll about web services

Δομή μηνυμάτων SOAP

Ένα πράγμα που πρέπει να σημειωθεί είναι ότι τα μηνύματα SOAP συνήθως δημιουργούνται αυτόματα από την υπηρεσία web όταν καλείται.

Κάθε φορά που μια εφαρμογή πελάτη καλεί μια μέθοδο στην υπηρεσία Ιστού, η υπηρεσία Ιστού δημιουργεί αυτόματα ένα μήνυμα SOAP το οποίο θα έχει τις απαραίτητες λεπτομέρειες των δεδομένων που θα σταλούν από την υπηρεσία Ιστού στην εφαρμογή πελάτη.

Όπως συζητήθηκε στο προηγούμενο θέμα αυτού του οδηγού SOAP, ένα απλό μήνυμα SOAP έχει τα ακόλουθα στοιχεία -

  • Το στοιχείο φακέλου
  • Το στοιχείο κεφαλίδας και
  • Το στοιχείο του σώματος
  • Το στοιχείο σφάλματος (προαιρετικό)

Ας δούμε ένα παράδειγμα παρακάτω ενός απλού μηνύματος SOAP και να δούμε τι πραγματικά κάνει το στοιχείο.

Δομή μηνυμάτων SOAP
  1. Όπως φαίνεται από το παραπάνω μήνυμα SOAP, το πρώτο μέρος του μηνύματος SOAP είναι το στοιχείο φακέλου που χρησιμοποιείται για να ενθυλακώσει ολόκληρο το μήνυμα SOAP.
  2. Το επόμενο στοιχείο είναι το σώμα SOAP που περιέχει τις λεπτομέρειες του πραγματικού μηνύματος.
  3. Το μήνυμά μας περιέχει μια διαδικτυακή υπηρεσία που έχει το όνομα "Guru99WebService".
  4. Το "Guru99Webservice" δέχεται μια παράμετρο του τύπου "int" και έχει το όνομα του TutorialID.

Τώρα, το παραπάνω μήνυμα SOAP θα μεταδοθεί μεταξύ της υπηρεσίας ιστού και της εφαρμογής πελάτη.

Μπορείτε να δείτε πόσο χρήσιμες είναι οι παραπάνω πληροφορίες για την εφαρμογή πελάτη. Το μήνυμα SOAP λέει στην εφαρμογή πελάτη ποιο είναι το όνομα της υπηρεσίας Web, καθώς και ποιες παραμέτρους αναμένει και επίσης ποιος είναι ο τύπος κάθε παραμέτρου που λαμβάνεται από την υπηρεσία web.

Στοιχείο φακέλου σαπουνιού

Το πρώτο κομμάτι του δομικού στοιχείου είναι ο φάκελος SOAP.

Ο φάκελος SOAP χρησιμοποιείται για την ενσωμάτωση όλων των απαραίτητων λεπτομερειών των μηνυμάτων SOAP, τα οποία ανταλλάσσονται μεταξύ της υπηρεσίας διαδικτύου και της εφαρμογής πελάτη.

Το στοιχείο φακέλου SOAP χρησιμοποιείται για να δείξει την αρχή και το τέλος ενός μηνύματος SOAP. Αυτό επιτρέπει στην εφαρμογή πελάτη που καλεί την υπηρεσία web να γνωρίζει πότε τελειώνει το μήνυμα SOAP.

Τα ακόλουθα σημεία μπορούν να σημειωθούν στο στοιχείο φακέλου SOAP.

  • Κάθε μήνυμα SOAP πρέπει να έχει ένα στοιχείο ριζικού φακέλου. Είναι απολύτως υποχρεωτικό το μήνυμα SOAP να έχει ένα στοιχείο φακέλου.
  • Κάθε στοιχείο φακέλου πρέπει να έχει τουλάχιστον ένα στοιχείο σώματος σαπουνιού.
  • Εάν ένα στοιχείο φακέλου περιέχει ένα στοιχείο κεφαλίδας, δεν πρέπει να περιέχει περισσότερα από ένα και πρέπει να εμφανίζεται ως το πρώτο θυγατρικό του φακέλου, πριν από το στοιχείο του σώματος.
  • Ο φάκελος αλλάζει όταν αλλάζουν οι εκδόσεις SOAP.
  • Ένας συμβατός με v1.1 επεξεργαστής SOAP δημιουργεί ένα σφάλμα κατά τη λήψη ενός μηνύματος που περιέχει το χώρο ονομάτων φακέλων v1.2.
  • Ένας επεξεργαστής SOAP συμβατός με v1.2 δημιουργεί σφάλμα ασυμφωνίας έκδοσης εάν λάβει ένα μήνυμα που δεν περιλαμβάνει το χώρο ονομάτων φακέλων v1.2.

Ακολουθεί ένα παράδειγμα SOAP API της έκδοσης 1.2 του στοιχείου φακέλου SOAP.

int

Το μήνυμα σφάλματος

Όταν ένα αίτημα υποβάλλεται σε μια υπηρεσία διαδικτύου SOAP, η απόκριση που επιστρέφεται μπορεί να είναι είτε από δύο φόρμες που είναι μια επιτυχής απόκριση είτε μια απόκριση σφάλματος. Όταν δημιουργείται μια επιτυχία, η απάντηση από το διακομιστή θα είναι πάντα ένα μήνυμα SOAP. Αλλά αν δημιουργηθούν σφάλματα SOAP, επιστρέφονται ως σφάλματα "HTTP 500".

Το μήνυμα SOAP Fault αποτελείται από τα ακόλουθα στοιχεία.

  1. - Αυτός είναι ο κωδικός που προσδιορίζει τον κωδικό του σφάλματος. Ο κωδικός σφάλματος μπορεί να είναι οποιαδήποτε από τις παρακάτω τιμές
    1. SOAP-ENV: VersionMismatch - Αυτό συμβαίνει όταν αντιμετωπίζεται ένας μη έγκυρος χώρος ονομάτων για το στοιχείο SOAP Envelope.
    2. SOAP-ENV: MustUnderstand - Ένα άμεσο θυγατρικό στοιχείο του στοιχείου Header, με το χαρακτηριστικό mustUnderstand που έχει οριστεί σε "1", δεν ήταν κατανοητό.
    3. SOAP-ENV: Client - Το μήνυμα δεν είχε διαμορφωθεί σωστά ή περιείχε λανθασμένες πληροφορίες.
    4. SOAP-ENV: Διακομιστής - Παρουσιάστηκε πρόβλημα με τον διακομιστή, επομένως το μήνυμα δεν μπορούσε να προχωρήσει.
  2. - Αυτό είναι το μήνυμα κειμένου που παρέχει μια λεπτομερή περιγραφή του σφάλματος.
  3. (Προαιρετικό) - Αυτή είναι μια συμβολοσειρά κειμένου που δείχνει ποιος προκάλεσε το σφάλμα.
  4. (Προαιρετικό) - Αυτό είναι το στοιχείο για μηνύματα σφάλματος για συγκεκριμένη εφαρμογή. Έτσι, η εφαρμογή θα μπορούσε να έχει ένα συγκεκριμένο μήνυμα σφάλματος για διαφορετικά σενάρια επιχειρηματικής λογικής.

Παράδειγμα για μήνυμα σφάλματος

Παρακάτω δίνεται ένα παράδειγμα μηνύματος σφάλματος. Το σφάλμα δημιουργείται εάν το σενάριο όπου ο πελάτης προσπαθεί να χρησιμοποιήσει μια μέθοδο που ονομάζεται TutorialID στην τάξη GetTutorial.

Το παρακάτω μήνυμα σφάλματος δημιουργείται σε περίπτωση που η μέθοδος δεν υπάρχει στην καθορισμένη κλάση.

SOAP-ENV:ClientFailed to locate method (GetTutorialID) in class (GetTutorial)

Παραγωγή:

Όταν εκτελείτε τον παραπάνω κώδικα, θα εμφανιστεί το σφάλμα όπως "Αποτυχία εντοπισμού μεθόδου (GetTutorialID) στην τάξη (GetTutorial)"

Μοντέλο επικοινωνίας SOAP

Όλη η επικοινωνία μέσω SOAP γίνεται μέσω του πρωτοκόλλου HTTP. Πριν από το SOAP, πολλές υπηρεσίες Ιστού χρησιμοποιούσαν το τυπικό στυλ RPC (Απομακρυσμένη διαδικασία κλήσης) για επικοινωνία. Αυτός ήταν ο απλούστερος τύπος επικοινωνίας, αλλά είχε πολλούς περιορισμούς.

Τώρα σε αυτόν τον οδηγό SOAP API, ας εξετάσουμε το παρακάτω διάγραμμα για να δούμε πώς λειτουργεί αυτή η επικοινωνία. Σε αυτό το παράδειγμα, ας υποθέσουμε ότι ο διακομιστής φιλοξενεί μια υπηρεσία ιστού η οποία παρείχε 2 μεθόδους ως

  • GetEm Employee - Αυτό θα λαμβάνει όλες τις λεπτομέρειες των υπαλλήλων
  • SetEm Employee - Αυτό θα ορίσει την αξία των λεπτομερειών, όπως το τμήμα υπαλλήλων, το μισθό κ.λπ. αναλόγως.

Στην κανονική επικοινωνία τύπου RPC, ο πελάτης θα καλούσε απλώς τις μεθόδους στο αίτημά του και θα έστελνε τις απαιτούμενες παραμέτρους στον διακομιστή και ο διακομιστής έστειλε στη συνέχεια την επιθυμητή απόκριση.

Το παραπάνω μοντέλο επικοινωνίας έχει τους παρακάτω σοβαρούς περιορισμούς

  1. Χωρίς ανεξάρτητη γλώσσα - Ο διακομιστής που φιλοξενεί τις μεθόδους θα είναι σε μια συγκεκριμένη γλώσσα προγραμματισμού και κανονικά οι κλήσεις προς το διακομιστή θα γίνονται μόνο σε αυτήν τη γλώσσα προγραμματισμού.
  2. Όχι το τυπικό πρωτόκολλο - Όταν πραγματοποιείται κλήση στην απομακρυσμένη διαδικασία, η κλήση δεν πραγματοποιείται μέσω του τυπικού πρωτοκόλλου. Αυτό ήταν ένα ζήτημα, καθώς κυρίως όλη η επικοινωνία μέσω του διαδικτύου έπρεπε να γίνει μέσω του πρωτοκόλλου HTTP.
  3. Τείχη προστασίας - Δεδομένου ότι οι κλήσεις RPC δεν περνούν από το κανονικό πρωτόκολλο, πρέπει να ανοίγουν ξεχωριστές θύρες στον διακομιστή για να επιτρέπεται στον πελάτη να επικοινωνεί με τον διακομιστή. Κανονικά, όλα τα τείχη προστασίας θα μπλοκάρουν αυτού του είδους την κυκλοφορία και απαιτείται μεγάλη διαμόρφωση για να διασφαλιστεί ότι αυτό το είδος επικοινωνίας μεταξύ του πελάτη και του διακομιστή θα λειτουργούσε.

Για να ξεπεράσει όλους τους περιορισμούς που αναφέρονται παραπάνω, το SOAP θα χρησιμοποιούσε το παρακάτω μοντέλο επικοινωνίας

  1. Ο πελάτης θα μορφοποιήσει τις πληροφορίες σχετικά με την κλήση διαδικασίας και τυχόν επιχειρήματα σε ένα μήνυμα SOAP και τις στέλνει στο διακομιστή ως μέρος μιας αίτησης HTTP. Αυτή η διαδικασία εγκλεισμού των δεδομένων σε ένα μήνυμα SOAP ήταν γνωστή ως Marshalling.
  2. Στη συνέχεια, ο διακομιστής θα ξεδιπλώνει το μήνυμα που έστειλε ο πελάτης, θα δει τι ζήτησε ο πελάτης και έπειτα θα στείλει την κατάλληλη απάντηση πίσω στον πελάτη ως μήνυμα SOAP. Η πρακτική αποσυμπίεσης ενός αιτήματος που αποστέλλεται από τον πελάτη είναι γνωστή ως Demarshalling.

Πρακτικό παράδειγμα σαπουνιού

Τώρα σε αυτό το σεμινάριο SoapUI, ας δούμε ένα πρακτικό παράδειγμα SOAP,

Πιθανώς ένας από τους καλύτερους τρόπους για να δείτε πώς δημιουργούνται τα μηνύματα SOAP είναι να βλέπετε πραγματικά μια υπηρεσία Ιστού σε δράση.

Αυτό το θέμα θα εξετάσει τη χρήση του πλαισίου Microsoft.Net για τη δημιουργία μιας υπηρεσίας web ASMX. Αυτός ο τύπος υπηρεσίας Ιστού υποστηρίζει τόσο το SOAP έκδοση 1.1 όσο και την έκδοση 1.2.

Οι υπηρεσίες Ιστού ASMX δημιουργούν αυτόματα το έγγραφο Γλώσσας ορισμού υπηρεσίας Web (WSDL). Αυτό το έγγραφο WSDL απαιτείται από την εφαρμογή πελάτη κλήσης, έτσι ώστε η εφαρμογή να γνωρίζει τι μπορεί να κάνει η υπηρεσία web.

Στο παράδειγμά μας, πρόκειται να δημιουργήσουμε μια απλή υπηρεσία Ιστού, η οποία θα χρησιμοποιηθεί για την επιστροφή μιας συμβολοσειράς στην εφαρμογή που καλεί την υπηρεσία Ιστού.

Αυτή η διαδικτυακή υπηρεσία θα φιλοξενείται σε μια εφαρμογή ιστού Asp.Net. Στη συνέχεια θα καλέσουμε την υπηρεσία Ιστού και θα δούμε το αποτέλεσμα που επιστρέφεται από την υπηρεσία Ιστού

Το Visual Studio θα μας δείξει επίσης τι διαβιβάζεται το μήνυμα SOAP μεταξύ της υπηρεσίας web και της εφαρμογής κλήσης.

Η πρώτη προϋπόθεση για τη ρύθμιση της εφαρμογής υπηρεσίας Web που μπορεί να γίνει ακολουθώντας τα παρακάτω βήματα.

Βεβαιωθείτε ότι έχετε εγκαταστήσει το Visual Studio 2013 στο σύστημά σας για αυτό το παράδειγμα.

Βήμα 1) Το πρώτο βήμα είναι να δημιουργήσετε μια κενή εφαρμογή ASP.Net Web. Από το Visual Studio 2013, κάντε κλικ στην επιλογή μενού Αρχείο-> Νέο έργο.

Μόλις κάνετε κλικ στην επιλογή Νέο έργο, το Visual Studio θα σας δώσει ένα άλλο παράθυρο διαλόγου για την επιλογή του τύπου του έργου και για να δώσει τις απαραίτητες λεπτομέρειες του έργου. Αυτό εξηγείται στο επόμενο βήμα.

Βήμα 2) Σε αυτό το βήμα,

  1. Βεβαιωθείτε ότι έχετε επιλέξει πρώτα το πρότυπο web C # της εφαρμογής Web ASP.NET. Το έργο πρέπει να είναι αυτού του τύπου για τη δημιουργία έργου SOAP. Επιλέγοντας αυτήν την επιλογή, το Visual Studio θα πραγματοποιήσει τα απαραίτητα βήματα για να προσθέσει τα απαιτούμενα αρχεία που απαιτούνται από οποιαδήποτε διαδικτυακή εφαρμογή.
  2. Δώστε ένα όνομα για το έργο σας το οποίο στην περίπτωσή μας έχει δοθεί ως webservice.asmx. Στη συνέχεια, βεβαιωθείτε ότι έχετε δώσει μια θέση όπου θα αποθηκευτούν τα αρχεία του έργου.

Μόλις τελειώσετε, θα δείτε το αρχείο έργου που δημιουργήθηκε στον εξερευνητή λύσεων στο Visual Studio 2013.

Βήμα 3) Σε αυτό το βήμα,

Πρόκειται να προσθέσουμε ένα αρχείο υπηρεσίας Web στο έργο μας

  1. Πρώτο δεξί κλικ στο αρχείο έργου όπως φαίνεται παρακάτω

  1. Μόλις κάνετε δεξί κλικ στο αρχείο έργου, έχετε την ευκαιρία να επιλέξετε την επιλογή "Προσθήκη-> Υπηρεσία Ιστού (ASMX) για να προσθέσετε ένα αρχείο υπηρεσίας ιστού. Απλώς δώστε ένα όνομα υπηρεσίας εκμάθησης για το αρχείο ονόματος υπηρεσίας διαδικτύου.

Βήμα 4) Προσθέστε τον ακόλουθο κώδικα στο αρχείο asmx της Tutorial Service.

Επεξήγηση κώδικα:

  1. Αυτή η γραμμή κώδικα παρέχει ένα όνομα για το αρχείο υπηρεσίας ιστού σας. Αυτό είναι ένα σημαντικό βήμα επειδή δίνει τη δυνατότητα στην εφαρμογή πελάτη να καλέσει την υπηρεσία Ιστού μέσω του ονόματος της υπηρεσίας Ιστού.
  2. Κανονικά χρησιμοποιείται ένα αρχείο κλάσης για να ενσωματώνει τη λειτουργικότητα μιας υπηρεσίας Ιστού. Έτσι, το αρχείο κλάσης θα έχει τον ορισμό όλων των μεθόδων ιστού που θα παρέχουν κάποια λειτουργικότητα στην εφαρμογή πελάτη.
  3. Εδώ το [WebMethod] είναι γνωστό ως χαρακτηριστικό που περιγράφει μια συνάρτηση. Το επόμενο βήμα δημιουργεί μια συνάρτηση που ονομάζεται "Guru99WebService", αλλά με τη συμπερίληψη αυτού του βήματος της προσθήκης ενός χαρακτηριστικού [WebMethod] διασφαλίζει ότι αυτή η μέθοδος μπορεί να γίνει επίκληση από μια εφαρμογή πελάτη. Εάν αυτό το χαρακτηριστικό δεν είναι στη θέση του, τότε η μέθοδος δεν μπορεί ποτέ να κληθεί από μια εφαρμογή πελάτη.
  4. Εδώ ορίζουμε μια συνάρτηση που ονομάζεται «Guru99WebService» η οποία θα χρησιμοποιηθεί για την επιστροφή μιας συμβολοσειράς στην εφαρμογή πελάτη κλήσης. Αυτή η λειτουργία είναι μια διαδικτυακή υπηρεσία που μπορεί να κληθεί από οποιαδήποτε εφαρμογή πελάτη.
  5. Χρησιμοποιούμε τη δήλωση επιστροφής για να επιστρέψουμε τη συμβολοσειρά "Αυτή είναι μια υπηρεσία Web9999" στην εφαρμογή πελάτη.

Εάν ο κωδικός εκτελεστεί με επιτυχία, η ακόλουθη έξοδος θα εμφανιστεί όταν εκτελείτε τον κωδικό σας στο πρόγραμμα περιήγησης.

Παραγωγή:

  • Η έξοδος δείχνει ξεκάθαρα ότι το όνομα της υπηρεσίας ιστού μας είναι "Guru99 Web Service", το οποίο είναι το αποτέλεσμα της ονομασίας της υπηρεσίας διαδικτύου μας.
  • Μπορούμε επίσης να δούμε ότι μπορούμε να επικαλεστούμε την υπηρεσία Ιστού. Εάν κάνουμε κλικ στο κουμπί Invoke, θα λάβουμε την ακόλουθη απάντηση στο πρόγραμμα περιήγησης ιστού.

Η παραπάνω έξοδος,

  • Δείχνει ξεκάθαρα ότι επικαλούμενη τη διαδικτυακή μέθοδο, επιστρέφεται η συμβολοσειρά "This is a Guru99 Web service".
  • Το Visual Studio σας επιτρέπει επίσης να δείτε το αίτημα και την απόκριση μηνυμάτων SOAP που δημιουργείται κατά την κλήση της παραπάνω υπηρεσίας ιστού.

Το αίτημα SOAP που δημιουργείται όταν καλείται η διαδικτυακή υπηρεσία εμφανίζεται παρακάτω.

Επεξήγηση κώδικα:

  1. Το πρώτο μέρος του μηνύματος SOAP είναι το στοιχείο φακέλου που είναι αυτό που συζητήθηκε στα προηγούμενα κεφάλαια. Αυτό είναι το στοιχείο ενθυλάκωσης που υπάρχει σε κάθε μήνυμα SOAP.
  2. Το σώμα SOAP είναι το επόμενο στοιχείο και περιέχει τις πραγματικές λεπτομέρειες του μηνύματος SOAP.
  3. Το τρίτο μέρος είναι το στοιχείο που καθορίζει ότι θέλουμε να καλέσουμε την υπηρεσία που ονομάζεται «Guru99WebService».

string

Επεξήγηση κώδικα:

  1. Το πρώτο μέρος του μηνύματος SOAP είναι το στοιχείο φακέλου που είναι αυτό που συζητήθηκε στα προηγούμενα κεφάλαια. Αυτό είναι το στοιχείο ενθυλάκωσης που υπάρχει σε κάθε μήνυμα SOAP.
  2. Το σώμα SOAP είναι το επόμενο στοιχείο και περιέχει τις πραγματικές λεπτομέρειες του μηνύματος SOAP.
  3. Το ενδιαφέρον μέρος που θα δείτε τώρα είναι το χαρακτηριστικό «string». Αυτό λέει στην εφαρμογή πελάτη ότι η υπηρεσία web που καλείται επιστρέφει ένα αντικείμενο της συμβολοσειράς τύπου. Αυτό είναι πολύ χρήσιμο γιατί εάν η εφαρμογή πελάτη που διαφορετικά δεν θα γνώριζε τι επιστρέφει η υπηρεσία Ιστού.

Περίληψη

  • Το SOAP είναι ένα πρωτόκολλο που χρησιμοποιείται για την ανταλλαγή δεδομένων μεταξύ εφαρμογών που βασίζονται σε διαφορετικές γλώσσες προγραμματισμού.
  • Το SOAP βασίζεται στην προδιαγραφή XML και λειτουργεί με το πρωτόκολλο HTTP. Αυτό το καθιστά ιδανικό για χρήση σε εφαρμογές Ιστού.
  • Τα δομικά στοιχεία του SOAP αποτελούνται από ένα μήνυμα SOAP. Κάθε μήνυμα SOAP αποτελείται από ένα στοιχείο φακέλου, μια κεφαλίδα και ένα στοιχείο σώματος.
  • Το στοιχείο φακέλου είναι το υποχρεωτικό στοιχείο στο μήνυμα SOAP και χρησιμοποιείται για την ενσωμάτωση όλων των δεδομένων στο μήνυμα SOAP.
  • Το στοιχείο κεφαλίδας μπορεί να χρησιμοποιηθεί για να περιέχει πληροφορίες όπως πληροφορίες ελέγχου ταυτότητας ή τον ορισμό σύνθετων τύπων δεδομένων.
  • Το στοιχείο σώματος είναι το κύριο στοιχείο που περιέχει τον ορισμό των μεθόδων ιστού μαζί με οποιεσδήποτε πληροφορίες παραμέτρων, εάν απαιτείται.