Άσκηση Ιούλιος 2024
Επιστροφή Επιστροφή στην αρχική

Client Code (TranslateClient.java)

Ο client διαβάζει input, καλεί τις SOAP μεθόδους και εμφανίζει αποτέλεσμα.

Βήματα Client

1

Νέο Project (Client)

File → New Project → Java → Java Application.

Βήμα 1: Java Application
Επιλογή Java Application για τον client.
2

Όνομα Client Project

Project Name: TranslateClientPrj.

Βήμα 2: TranslateClientPrj
Συμπλήρωση ονόματος για τον client.
3

Web Service Client

Δεξί κλικ στο client project → New → Web Service Client.

Βήμα 3: Web Service Client
Εκκίνηση δημιουργίας client από WSDL.
4

Επιλογή Service

Στο browse διάλεξε το TranslateClass από το service project.

Βήμα 4: επιλογή service
Επιλογή του web service για generate client.

Κώδικας Client

package translateclientprj;

import java.util.Scanner;
import gr.uniwa.translate.TranslateService;
import gr.uniwa.translate.TranslateClass;

public class TranslateClient {
    public static void main(String[] args) {
        TranslateService service = new TranslateService();
        TranslateClass port = service.getTranslateClassPort();
        Scanner sc = new Scanner(System.in);

        for (;;) {
            System.out.println("Δώσε λέξη και γλώσσα (π.χ.: φόρεμα en)");
            System.out.println("Γράψε 'quit' για έξοδο");

            String input = sc.nextLine().trim();
            if (input.equals("quit")) { break; }

            String[] parts = input.split(" ");
            if (parts.length < 2) { continue; }

            String word = parts[0];
            String lang = parts[1].toLowerCase();

            if (lang.equals("en")) {
                System.out.println("English: " + port.translateToEnglish(word));
            } else if (lang.equals("fr")) {
                System.out.println("French: " + port.translateToFrench(word));
            } else if (lang.equals("al")) {
                System.out.println("Albanian: " + port.translateToAlbanian(word));
            } else {
                System.out.println("Άγνωστη γλώσσα!");
            }
            System.out.println();
        }
        sc.close();
    }
}

Ανάλυση Client κώδικα (βήμα-βήμα)

1

Δημιουργία σύνδεσης

Το TranslateService διαβάζει το WSDL και ετοιμάζει τη σύνδεση. Το port είναι το αντικείμενο με τις SOAP μεθόδους.

2

Ατέρμον βρόχος

Με for (;;) ο client συνεχίζει να δέχεται λέξεις μέχρι να γράψεις quit.

3

Input parsing

Κάνουμε split(" ") για να πάρουμε λέξη και γλώσσα (en, fr, al). Αν λείπει κάτι, κάνουμε continue.

4

Κλήση της σωστής μεθόδου

Ανάλογα τη γλώσσα, καλούμε translateToEnglish, translateToFrench ή translateToAlbanian και εμφανίζουμε το αποτέλεσμα.

💡 Οι κλάσεις TranslateService και TranslateClass είναι generated από το NetBeans όταν δηλώσεις το WSDL.

Παράδειγμα Εκτέλεσης

Δώσε λέξη και γλώσσα (π.χ.: φόρεμα en)
Γράψε 'quit' για έξοδο
πουκάμισο fr
French: chemise

Δώσε λέξη και γλώσσα (π.χ.: φόρεμα en)
Γράψε 'quit' για έξοδο
quit
Αντίο!