Web Services στη C# Εργαστήριο 3 Μαρίνος Θεμιστοκλέους Email: mthemist@unipi.gr Ανδρούτσου 150 Γραφείο 206 Τηλ. 210 414 2723 Ώρες Γραφείου: Τετάρτη 5-6 μμ
Web Services Κατασκευή web service Ανοίγουμε το Visual Studio Πηγαίνουμε File -> New -> Project
Web Services Κατασκευή web service Επιλέγουμε στα αριστερά Visual C# -> WCF. Στην συνέχεια WCF Service Application,δίνουμε το όνομα BooksDataService, επιλέγουμε το “Create directory for solution” και πατάμε ΟΚ.
Web Services Κατασκευή web service Επιλέγουμε στα δεξιά από το Solution Explorer τα αρχεία IService1.cs και Service1.svc. Στην συνέχεια κάνουμε δεξί κλικ και τα διαγράφουμε.
Web Services Κατασκευή web service Προσθέτουμε το αρχείο XML, όπου θα αποτελέσει την βάση με τα δεδομένα που θέλουμε να έχουμε πρόσβαση μέσω των web services. Για να προσθέσουμε το XML αρχείο πατάμε δεξί κλικ πάνω στο φάκελο App_Data->Add και στη συνέχεια ανάλογα: Αν έχουμε έτοιμο το αρχείο xml, επιλέγουμε Existing Item… και βρίσκουμε την τοποθεσία του αρχείου xml. Αν δεν το έχουμε έτοιμο και σκοπεύουμε να το δημιουργήσουμε , επιλέγουμε XML File. Σε κάθε περίπτωση το όνομα του αρχείου πρέπει να είναι books.xml
Web Services Κατασκευή web service
Web Services Κατασκευή web service Αφού προσθέσουμε το αρχείο, θα το δούμε κάτω από τον φάκελο App_Data.
Web Services Κατασκευή web service Δείγμα αρχείου.
Web Services Κατασκευή web service Στη συνέχεια κάνουμε δεξί κλικ στο όνομα του project (δηλαδή BooksDataService) στην καρτέλα Solution Explorer. Και επιλέγουμε Add->New Item…
Web Services Κατασκευή web service Στο παράθυρο που ανοίγει επιλέγουμε στα αριστερά Visual C# -> Web και από την λίστα που εμφανίζεται στην μέση το WCF Service. Στο κάτω μέρος ονομάζουμε το αρχείο BooksOperations.svc
Web Services Κατασκευή web service Προστέθηκαν δύο αρχεία στο Project. IBooksOperations.cs – Διεπαφή (Interface) BooksOperations.svc – Κλάση (Class)
Web Services Κατασκευή web service Η διεπαφή IBooksOperations περιέχει τις μεθόδους όπου πρέπει να υλοποιεί η κλάση BooksOperations. Αρχικά έχει προστεθεί η μέθοδος DoWork.
Web Services Κατασκευή web service Η κλάση BooksOperations περιέχει τις μεθόδους που πρέπει να υλοποιήσει βάσει της διεπαφής IBooksOperations. Αρχικά περιέχει τον κώδικα για τη μέθοδο DoWork.
Web Services Κατασκευή web service Αρχικά θα χρειαστούμε μια κλάση όπου θα περιέχει δύο μεταβλητές. Την κλάση αυτή θα την προσθέσουμε στο αρχείο IBooksOperations, πριν από τον ορισμό της διεπαφής. Θα προσθέσουμε τις μεταβλητές της κλάσης και δύο κατασκευαστές της, όπου θα χρησιμοποιήσουμε στη συνέχεια.
Web Services Κατασκευή web service
Web Services Κατασκευή web service
Web Services Κατασκευή web service Αλλάζουμε την διεπαφή αφαιρώντας την μέθοδο DoWork και προσθέτοντας μεθόδους που θέλουμε να υλοποιήσουμε στο συγκεκριμένο web service. Οι μέθοδοι είναι: List<BookData> GetBooksTitle(); BookData GetBookData(string bookId);
Web Services Κατασκευή web service
Web Services Κατασκευή web service Όταν ολοκληρώσουμε τις αλλαγές στην διεπαφή, πρέπει να υλοποιήσουμε τις μεθόδους στην κλάση BooksOperations. Αρχικά θα σβήσουμε τη μέθοδο DoWork που είχε μέσα η κλάση και θα προσθέσουμε τις μεθόδους της διεπαφής. Για γρήγορη συμπλήρωση των μεθόδων που πρέπει να υλοποιήσει η κλάση, πατάμε δεξί κλικ στο IBooksOperations δίπλα στο όνομα της κλάσης και επιλέγουμε Implement Interface -> Implement Interface.
Web Services Κατασκευή web service
Web Services Κατασκευή web service Με αυτό τον τρόπο συμπληρώνονται αυτόματα οι μέθοδοι. Θα αφαιρέσουμε τον κώδικα που έχει προστεθεί και θα συμπληρώσουμε το δικό μας.
Web Services Κατασκευή web service Συμπληρώνουμε τον κώδικα για την υλοποίηση των μεθόδων.
Web Services Κατασκευή web service
Web Services Κατασκευή web service Μπορούμε να δοκιμάσουμε την λειτουργία του web service με το εργαλείο WCF Test Client. Επιλέγουμε το αρχείο BooksOperations.svc και πατάμε το κουμπί “Start” (F5).
Web Services Κατασκευή web service
Web Services Κατασκευή web service Επιλέγοντας με διπλό κλικ κάποια μέθοδο μπορούμε να δοκιμάσουμε την λειτουργία της. Εισάγουμε τις τιμές των παραμέτρων του web service και πατώντας το κουμπί “Invoke” μας εμφανίζει την απάντηση του. Με αυτό τον τρόπο δοκιμάζουμε όλες τις μεθόδους, για να σιγουρευτούμε ότι επιστρέφουν τις τιμές που επιθυμούμε.
Web Services Κατασκευή web service Για να προσθέσουμε το web service σε ένα server που προσφέρει προσωρινά το visual studio, κάνουμε δεξί κλικ στο αρχείο BooksOperations.svc. Στην συνέχεια επιλέγουμε το “View in Browser”. Με αυτό τον τρόπο το visual studio χρησιμοποιεί ένα iis express server και δημοσιοποιεί (publish) το web service.
Web Services Κατασκευή web service
Web Services Κατασκευή web service Στην συνέχεια ανοίγει ο προεπιλεγμένος browser εμφανίζοντας πληροφορίες για το web service.
Web Services Κατασκευή web site για δοκιμή web service Αρχικά θα προσθέσουμε ένα νέο Web Site στο solution που έχουμε ανοιχτό.
Web Services Κατασκευή web site για δοκιμή web service Δεξί κλικ στο Solution -> Add -> New Web Site…
Web Services Κατασκευή web site για δοκιμή web service Στο παράθυρο που ανοίγει επιλέγουμε “ASP.NET Empty Web Site” και στο κάτω μέρος ονομάζουμε την ιστοσελίδα “BooksSite”.
Web Services Κατασκευή web site για δοκιμή web service Στο Solution Explorer προστέθηκε ένα ακόμα Project όπου είναι το web site που δημιουργήσαμε.
Web Services Κατασκευή web site για δοκιμή web service Στην συνέχεια θα πρέπει να προσθέσουμε αναφορά του web service που δημιουργήσαμε προηγουμένως (service reference) στην ιστοσελίδα. Για να προσθέσουμε αναφορά κάνουμε δεξί κλικ στο Project της ιστοσελίδας και Add -> Service References…
Web Services Κατασκευή web site για δοκιμή web service
Web Services Κατασκευή web site για δοκιμή web service Στο παράθυρο που ανοίγει επιλέγουμε το κουμπί “Discover” για να βρει τα web services όπου υπάρχουν στο ίδιο solution και αφού το βρει πατάμε το κουμπί “ΟΚ”.
Web Services Κατασκευή web site για δοκιμή web service Στο επόμενο βήμα θα προσθέσουμε μια νέα σελίδα. Κάνουμε δεξί κλικ στο BooksSite και επιλέγουμε Add -> Web Form
Web Services Κατασκευή web site για δοκιμή web service Στο παράθυρο που ανοίγει επιλέγουμε το όνομα της νέας σελίδας. Μπορούμε να αφήσουμε το όνομα που μας προτείνει (Default).
Web Services Κατασκευή web site για δοκιμή web service Προσθέτουμε τον παρακάτω κώδικα στο αρχείο Default.aspx.
Web Services Κατασκευή web site για δοκιμή web service
Web Services Κατασκευή web site για δοκιμή web service Με τον προηγούμενο κώδικα προσθέσαμε στην σελίδα ένα drop down menu για να επιλέξει ο χρήστης το βιβλίο, όπου θα δει τις πληροφορίες. Επίσης προστέθηκε ένα κουμπί όπου στο event “OnClick” τρέχει ο κώδικας της μεθόδου “btnGo_Click”.
Web Services Κατασκευή web site για δοκιμή web service Στη συνέχεια έχει προστεθεί ένας πίνακας όπου περιέχει πεδία με τις πληροφορίες για τα βιβλία.
Web Services Κατασκευή web site για δοκιμή web service Στη συνέχεια θα υλοποιήσουμε τις μεθόδους. Για να ανοίξουμε τον κώδικα της σελίδας, πηγαίνουμε δεξιά στο Solution Explorer και πατάμε το βελάκι στην σελίδα που θέλουμε. Από κάτω ανοίγει το αρχείο που περιέχει τον κώδικα της σελίδας και το ανοίγουμε.
Web Services Κατασκευή web site για δοκιμή web service Στο παράθυρο που ανοίγει συμπληρώνουμε τον παρακάτω κώδικα. Με τον συγκεκριμένο κώδικα κατά την φόρτωση της σελίδας, καλείται η μέθοδος GetBooksTitle του web service και φορτώνει τιμές στο drop down menu.
Web Services Κατασκευή web site για δοκιμή web service Στη συνέχεια προσθέτουμε τον κώδικα για τη μέθοδο btnGo_Click όπου καλείται στο event “OnClick” του κουμπιού που έχουμε στη σελίδα. Η συγκεκριμένη μέθοδος καλεί τη GetBookData από το web service και επιστρέφει τις πληροφορίες του βιβλίου.
Web Services Κατασκευή web site για δοκιμή web service Μόλις ολοκληρώσουμε τις αλλαγές στον κώδικα, κάνουμε δεξί κλικ πάνω στο αρχείο Default.aspx και επιλέγουμε το “View in Browser”.
Web Services Κατασκευή web site για δοκιμή web service Ανοίγει ο browser εμφανίζοντας την σελίδα που δημιουργήσαμε.
Web Services Κατασκευή web site για δοκιμή web service Δοκιμάζουμε την σελίδα επιλέγοντας ένα βιβλίο από τη λίστα και πατώντας το κουμπί “Go” εμφανίζονται από κάτω πληροφορίες για το συγκεκριμένο βιβλίο.