Web Services mit Apache CXF. Axel Eberhard Leistner
Чтение книги онлайн.

Читать онлайн книгу Web Services mit Apache CXF - Axel Eberhard Leistner страница 5

Название: Web Services mit Apache CXF

Автор: Axel Eberhard Leistner

Издательство: Bookwire

Жанр: Математика

Серия:

isbn: 9783844252507

isbn:

СКАЧАТЬ Sie Generate Binding Content... aus (Abbildung 51). Dort wählen Sie nun Overwrite existing binding information und klicken anschließend auf den Schalter Finish (Abbildung 52).

      Abbildung 51: Binding-Content erzeugen

      Abbildung 52: Bestehende Binding-Informationen sollen überschrieben werden

      Damit ist die Schnittstelle definiert:

      Generierung der Java-Klassen

      Nun kann Eclipse für uns automatisch Schema-Klassen, Service-Interface und Client-Stubs generieren. Klicken Sie im Verzeichnisbaum unterhalb xml zuerst einmal auf die WSDL-Datei GuestBook.wsdl. Mit Rechtsklick wählen Sie dann New -> Other... -> Web Services -> Web Service aus (Abbildung 53).

      Abbildung 53: Aus der WSDL heraus einen Web Service anlegen

      Wir wählen als Web service type den Top-Down-Ansatz, um aus einer WSDL den Java-Code zu erstellen. Die Service definition ist dabei unsere gerade erstellte WSDL-Datei unter dem Namen /GuestBookService/xml/GuestBook.wsdl.

      In der Konfiguration sehen wir bereits den zu Beginn eingerichteten Server Tomcat 7.0 und das Werkzeug Apache CXF 2.x sowie das Service project mit dem Namen GuestBookService (Abbildung 54).

      Abbildung 54: Top-Down Erstellung der Web Service Quellendateien

      Damit wir den Dienst gleich testen können, legen wir hier auch einen Client an. Dabei werden alle notwendigen Projektdateien für einen Java-Client erstellt. Ziehen Sie dazu den Regler am linken Rand der Client-Konfiguration bis ganz nach oben. Klicken Sie zusätzlich den Schalter Monitor the web service an, um die Ergebnisse auch in einem TCP/IP-Monitor überprüfen zu können.

      Klicken Sie dann dreimal auf den Schalter Next. Klicken Sie im danach geöffneten Fenster auf den Schalter Start Server und dann auf Finish.

      Nachdem alle Dateien erstellt und übersetzt wurden, sehen Sie eine Darstellung des Web Service Explorer, von dem aus die Anwendung sofort getestet werden kann (Abbildung 55). Im Fenster Actions sehen Sie die eingerichteten Operations mit den Namen getEntries und insertEntry. Diese Operationen können Sie im Navigator unterhalb der GuestBookSOAP aufklappen und danach im Actions Fenster die Eingaben zum Test der Anwendungen eingeben.

      Abbildung 55: Ergebnis der Erstellung von Interface etc.

      Die Ausgaben sehen wir uns anschließend im Status-Fenster an sowie in der Tomcat-Server-Console und im TCP-Monitor.

      Öffnen Sie also nun die Einträge im Navigator mit der Sicht des WSDL Main unterhalb des Eintrags GuestBookSOAP (Abbildung 55).

      Geben Sie jetzt im Body-Fenster ein paar Daten ein, die Sie als Nachricht im Gästebuch ablegen möchten (Abbildung 56).

      Im Status Fenster (Abbildung 57) sehen Sie nun die erstellte SOAP-Nachricht nach Klick auf den Schalter Source. Dabei interessieren uns hier die Angaben im Body-Block der XML-Struktur. Was wir hier sehen, ist die Nachricht, die ein Client an den Server des Web Services abgesendet hat. In den folgenden Bildschirmseiten werden wir die Wirkung des Web Service Dienstes weiter untersuchen.

      Abbildung 56: Eingabedaten für Methode insertEntry

      Abbildung 57: SOAP für die Eingabe der Daten

      Auch auf der Console sehen Sie die Aktivitäten rund um diese Anwendung (Abbildung 58).

      Abbildung 58: Ausgabe der Server-Console

      Abbildung 59: Ausgabe des TCP/IP-Monitors

      Ein Blick auf den TCP/IP-Monitor zeigt den Request auf der linken Seite und die Erfolgsmeldung rechts: Accepted (Abbildung 59).

      Nun versuchen wir, eine Ausgabe der in der Anwendung gespeicherten Nachrichten zu erhalten. Dazu wählen Sie die Anwendung getEntries und klicken auf den Schalter Go (Abbildung 60).

      Abbildung 60: Test der Ausgabe von Daten

      Die Ausgabe entspricht dabei wohl noch nicht dem, was Sie erwarten würden: Hier ist nicht die Nachricht zu sehen, die Sie gerade eingegeben haben, sondern die Testnachricht, die bei der Erstellung des Clients angelegt wurde. Zur Änderung der Ausgabe müssen wir zunächst den Source-Code bearbeiten.

      Im Status-Fenster sehen wir eine formatierte Ausgabe der Rückantwort unseres Web Services (Abbildung 61).

      Abbildung 61: Ausgabe der Ergebnisse aus Methode getEntries

      Wenn Sie dann auf den Schalter Source rechts oben im Status-Fenster klicken, sehen Sie die XML-Darstellung der abgesendeten Anforderung sowie die Rückantwort (Abbildung 62).

      Abbildung 62: Request und Response der Ausgabe-SOAP

      Was wir aber bereits sehen können, ist die Darstellung der WSDL, wie diese in einem Browser angezeigt wird. Dazu geben wir im Browser des Eclipse die folgende URL ein:

      In Abbildung 63 sehen wir unterhalb des Verzeichnis-Knotens WEB-INF ein von Eclipse erstelltes Unterverzeichnis wsdl mit einer WSDL- und einer XSD-Datei. Bei der Ausgabe in Abbildung 63 wird nun genau diese WSDL verwendet, nicht die Datei im von uns angelegten Unterverzeichnis xml. Bei einer Weitergabe einer WSDL an „Kunden“ dieses Dienstes, die danach ihre eigene Client-Anwendung beispielsweise als JSP-Client schreiben wollen, muss genau diese vom System erstellte WSDL-Datei weitergegeben werden.

СКАЧАТЬ