Web Services mit Apache CXF - Axel Eberhard Leistner - E-Book

Web Services mit Apache CXF E-Book

Axel Eberhard Leistner

0,0

Beschreibung

Das Buch "Web Services mit Apache CXF" bietet einen schnellen Einstieg in die Technik der Web Service Entwicklung. Dazu wird zunächst ein durchgängiges Beispiel zur Vorstellung der Entwicklungswerkzeuge vorgestellt. Im Anschluss daran beschreibt der Autor die theoretischen Grundlagen. Dabei ist es ihm wichtig, dass auch der noch ungeübte Entwickler den schnellen Einstieg in die Methoden findet.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern
Kindle™-E-Readern
(für ausgewählte Pakete)

Seitenzahl: 80

Veröffentlichungsjahr: 2013

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



1. Auflage 2013

Alle Rechte, auch für die Übersetzung, vorbehalten. Kein Teil des Werkes darf in irgendeiner Form (Druck, Fotokopie, Mikrofilm oder einem anderen Verfahren) ohne schriftliche Genehmigung des Verlages reproduziert, vervielfältigt oder verbreitet werden.

Alle technischen Angaben und Programme in diesem Buch wurden vom Autor mit größter Sorgfalt erarbeitet bzw. zusammengestellt. Trotzdem sind Fehler nicht ganz auszuschließen. Verlag und Autor übernehmen keine Gewähr für die Funktion einzelner Programme oder Teile derselben. Insbesondere wird keinerlei Haftung übernommen für eventuelle aus dem Gebrauch resultierende Folgeschäden.

Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenzeichen usw. in diesem Werk berechtigen auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutzgesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften.

Da es nicht möglich ist, in allen Fällen zeitnah zu ermitteln, ob ein Markenschutz besteht, wird das ®-Symbol in diesem Buch nicht verwendet.

Impressum:

Web Services mit Apache CXF Axel Eberhard Leistner published by: epubli GmbH, Berlin www.epubli.de

Inhaltsverzeichnis

Vorwort 5

Web Service Tutorium - Erstellung eines Gästebuchs 6

Service-Projekt erstellen.14

XSD: Gästebuch-Schema erstellen.16

WSDL: Gästebuch-Service-Schnittstelle erstellen.22

Generierung der Java-Klassen.32

Service: Implementierung des Gästebuch-Web Services 53

Implementierung des Gästebuch-Clients 60

Grundlagen für das Verständnis eines Web Services 94

Die XSD – Typen-Entwicklung in XML.94

Die WSDL – Aufbau eines SOAP Services 101

Apache CXF – automatische Erstellung eines Web Services 109

Servlets - Die Grundlagen.125

Servlet-Container 125

Packages 126

Häufig verwendete Interfaces und Klassen.127

HTTP-Grundlagen.130

Aufbau der URLs 131

HTTP-Methoden.131

Wichtige HTTP-Statuscodes 133

JSP – Grundlagen.136

Die Syntax von JSPs und ihre Bestandteile.137

Implizite Objekte.141

Client-Anfragen.147

Beans in JSPs 149

JSP-Standardaktionen.154

Fehler- und Ausnahmebehandlung.157

Expression Language.160

Java Standard Tag Library (JSTL) 164

Internationalisierung.165

Servlet-Filter 167

Abbildungsverzeichnis 170

Vorwort

Web Services begegnen uns öfter als wir vermuten. Meist verbergen sie sich hinter anderen Begriffen wie „App“ oder „Cloud“. Wie man das Kind auch letztlich nennt: Es geht hier immer darum, dass ein Server, der aus dem Internet leicht erreichbar ist, einen Dienst bereitstellt, der von Clients genutzt werden kann. Diese Clients sind oft erkennbar als „Webbrowser“ oder aber Anwendungen, die im Internet Anfragen stellen können und auf eine Antwort warten.

Ziel dieses Buches ist es zu zeigen, was hinter einem Web Service steckt. Wir wollen mit einfachen Mitteln einen Service aufbauen, der auf einem Application Server wie Tomcat laufen kann. Dann wollen wir verschiedene Clients ausprobieren, um den Service zu testen.

Da es uns nicht darum geht, eine besonders interessante Spezialanwendung zu entwickeln, haben wir uns entschieden, das gute alte Beispiel eines Gästebuches neu zu beleben. Das hat einfache Gründe. Alles, was wir brauchen, um einen Dienst mit Eingaben über ein Formular und Ausgaben auf einem Bildschirm zu entwickeln, lässt sich hier leicht darstellen. Und unser Ziel ist letztlich nicht das Gästebuch, sondern die Kenntnis über den Bau eines Web Services.

Nach dem zügigen Aufbau von Server- und Client-Programmen schauen wir uns die Theorie an, die hinter dem Ganzen steckt. Die Beleuchtung des Hintergrundes nimmt dabei den größten Teil des Buches ein.

Mit dem Gesamtverständnis, das dieses Buch vermitteln will, kann der interessierte Leser schnell selbst einen Web Service programmieren. Dabei ist es egal, ob er eine Suchmaschine im Internet anbieten will, einen neuen Webshop oder eine App für Smartphone – mit den passenden Tools und genauer Planung des Services sollte das sofort gelingen.

Web Service Tutorium - Erstellung eines Gästebuchs

Dieses Tutorium beschreibt, wie ein Gästebuch als Web Service erstellt wird. Dabei verwenden wir die Werkzeuge Eclipse, Apache CXF und Apache Tomcat 7.0. Zunächst bauen wir einen Dienst auf dem Server auf. Zum Test der Funktionsweise des Gästebuch-Web-Services entwickeln wir dann eine Java-Client-Applikation, die den Web Service benutzt. Wir verfolgen den sogenannten Top-Down-Ansatz (WSDL-to-Java). Dabei wird zuerst die Service-Schnittstelle festgelegt und anschließend auf Basis dieser Schnittstelle die Service-Implementierung angelegt.

Dieses Tutorium setzt voraus, dass die Java JDK (hier: jdk1.7.0_17-64bit) und Eclipse (hier: eclipse-4.3“ aus eclipse-jee-kepler-M5-win32-x86_64) installiert ist, und dass weiterhin Eclipse korrekt mit Tomcat (hier: apache-tomcat-7.0.37-64bit) verbunden wurde. Dazu nehmen wir eine Basiskonfiguration innerhalb von Eclipse vor.

Eclipse bietet die Möglichkeit Zeilennummern für Quellentexte auszugeben. Wir wählen im Eclipse-Menü Window->Preferences->General->Editors->Text Editors aus und setzen den Haken beim Parameter Show line numbers. Drücken Sie dann auf den Schalter Apply am Ende des Fensters.

Abbildung 1: Editor in Eclipse konfigurieren - Zeilennummern

Eclipse hat bereits eine Java-Umgebung als Standardumgebung eingetragen. Wir wollen aber die von uns installierte JDK 1.7.0 Version 17 verwenden. Dazu legen wir nun eine neue Java JRE in Eclipse an: Wir wählen im Eclipse-Menü die KombinationWindow->Preferences->Java->Installed JREs aus. Drücken Sie auf den Schalter Add… (Abbildung 2) und danach im folgenden Fenster auf Standard VM und Next. Wählen Sie mit Hilfe des Schalters Directory… eine JRE-Home aus und jetzt klicken Sie auf den Schalter Finish (Abbildung 3).

Abbildung 2: Neue JRE einfügen

Abbildung 3: JRE-Umgebung auswählen

Aktivieren Sie das Feld neben dem Namen der zu verwendenden JDK-Version (Abbildung 4). Klicken Sie dann auf den OK-Schalter, um diese Einstellung bereits zu speichern. Vergessen Sie außerdem nicht, die Umgebungsvariable JAVA_HOME in den Systemeinstellungen zu setzen.

Abbildung 4: Installierte JRE in Eclipse auswählen

Wir drücken im Eclipse-Menü Window -> Preferences -> Server -> Runtime Environment den Schalter Add..., um die Tomcat-Umgebung einfügen zu können (Abbildung 5). Wählen Sie Server Apache -> Apache Tomcat 7.0. Klicken Sie auf Next (Abbildung 6).

Abbildung 5: Server Runtime Environments in Eclipse konfigurieren

Abbildung 6: Apache Tomcat v7.0 auswählen

Geben Sie das Tomcat- Installationsverzeichnis ein sowie die JRE-Umgebung. Klicken Sie dann auf den Schalter Finish (Abbildung 7). Damit ist in Eclipse die Tomcat-Umgebung spezifiziert (Abbildung 8). Setzen Sie unbedingt für Tomcat auch die Umgebungsvariable CATALINA_HOME in den Systemeinstellungen.

Abbildung 7: Tomcat- Installationsverzeichnis und JRE-Umgebung konfigurieren

Abbildung 8: Tomcat-Konfiguration in Eclipse

Nun wird noch das Werkzeug für die Erstellung des Web Services benötigt. Laden Sie Apache CXF 2.x aus dem Internet herunter. Danach entpacken Sie das Archiv (apache-cxf-2.7.2.zipoder eine neuere Version). Merken Sie sich unbedingt das Installationsverzeichnis. Setzen Sie auch die Umgebungsvariable CXF_HOME auf das Root-Verzeichnis der CXF-Installation.

Abbildung 9: CXF 2.x Preferences in Eclipse konfigurieren

Wir wählen im Eclipse-Menü Window->Preferences->Web Services->CXF 2.x Preferences->Add... aus (Abbildung 9). Geben Sie das Apache CXF-Installationsverzeichnis ein und jetzt klicken Sie auf den Schalter Finish. Wenn Sie die Umgebungsvariable CXF_HOME korrekt eingegeben haben, dann findet Eclipse die Version und den Type selbständig (Abbildung 10).

Abbildung 10: CXF- Installationsverzeichnis und Version konfigurieren

Aktivieren Sie das Kontrollfeld der Version des Apache CXF und klicken Sie auf Apply am Ende des Unterfensters (Abbildung 11).

Abbildung 11: CXF 2.x Preferences in Eclipse bestätigen

Die Konfiguration Java2WS ist zur Erstellung der WSDL-Datei gedacht, wenn man zuerst den Java-Code erstellt. Hier aktivieren wir die Schalter Generate Client und Generate Server (Abbildung 12).

Abbildung 12: Konfiguration für Java2WS

Für unsere Zwecke benötigen wir die Konfiguration WSDL2Java (Abbildung 13). Außerdem aktivieren wir die ersten fünf Schalter im Reiter JAX-WS zur JAX-WS Annotation Generation (Abbildung 14).

Abbildung 13: Konfiguration für WSDL2Java

Abbildung 14: Konfiguration für JAX-WS

Jetzt bereiten wir die Tools für den Einsatz in Eclipse vor. Wählen Sie dazu im Menü die Kombination mit der Folge Window->Preferences->Web Services->Server and Runtime aus (Abbildung 15). Wählen Sie die Tomcat- sowie die Apache CXF-Umgebung in den beiden Auswahlfeldern aus, klicken Sie auf den Schalter Apply und danach auf den Schalter OK.

Abbildung 15: Tomcat-Server und CXF-Umgebung in Eclipse setzen

Öffnen Sie die AnsichtServersim Eclipse-Menü mit der KombinationWindow->Show View->Servers(Abbildung 16). Dann legen Sie einen neuen Server in dieser Server-View an. Klicken Sie in der View die rechte Maustaste an und wählen SieNew->Serveraus. Wählen Sie den Apache Tomcat v7.0 Server aus und jetzt klicken Sie auf den Schalter Finish.

Abbildung 16: Server in Eclipse aktivieren

Damit sind alle vorbereitenden Konfigurationen in Eclipse abgeschlossen.

Service-Projekt erstellen

Die Erstellung eines Projektes beginnt in Eclipse mit der Auswahl und Einrichtung eines speziellen Projektes. Hierfür hat Eclipse einige Varianten zur Auswahl.

Erstellen Sie in Eclipse ein Web-Projekt. Dazu wählen Sie im Kontext-Menü der Projektansicht die Kombination File -> New -> Project... und danach die Kombination Web -> Dynamic Web Project (Abbildung 17). Klicken Sie auf den Schalter Next.

Abbildung 17: Neues Projekt anlegen

Wir wollen den ServiceGuestBookService nennen. Die Target Runtime sollte bereits aufApache Tomcat v7.0stehen.Klicken Sie auf den SchalterFinish.

Nun kann die eigentliche Arbeit losgehen. In den folgenden Unterkapiteln wollen wir die Datentypen definieren und unseren Web Service spezifizieren. Im Anschluss daran lassen wir Eclipse den Quellcode generieren und passen diesen im Nachgang an unsere Anforderungen an.

Abbildung 18: Dynamic Web Projekt einrichten

XSD: Gästebuch-Schema erstellen

Für die XML-Dateien benötigen wir einen eigenen Ordner im Projektverzeichnis. Wählen Sie also im Kontextmenü der ProjektansichtNew -> Folder. Geben Sie den Ordnernamen alsxmlein und klicken Sie auf den SchalterFinish (Abbildung 19). Im XML-Verzeichnis wollen wir unser XML-Schema ablegen. Wählen Sie aus dem Kontextmenü dieses XML-Ordners heraus die Kombination