Axel Eberhard Leistner

Web Services mit Apache CXF


Скачать книгу

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 Service GuestBookService nennen. Die Target Runtime sollte bereits auf Apache Tomcat v7.0 stehen. Klicken Sie auf den Schalter Finish.

      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 Projektansicht New -> Folder. Geben Sie den Ordnernamen als xml ein und klicken Sie auf den Schalter Finish (Abbildung 19). Im XML-Verzeichnis wollen wir unser XML-Schema ablegen. Wählen Sie aus dem Kontextmenü dieses XML-Ordners heraus die Kombination New -> Other… -> XML -> XML Schema File. Klicken Sie jetzt auf den Schalter Next (Abbildung 20).

      Abbildung 19: Ordner für XML-Dateien anlegen

      Abbildung 20: XML-Schema-Datei anlegen

      Wir wollen unser Schema GuestBook.xsd nennen (Abbildung 21).

      Abbildung 21: XML-Schema mit Namen GuestBook.xsd definieren

      Abbildung 22: XML- Schema-Namespace verändern

      Ändern Sie den Schema-Namespace mit Rechtsklick über dem Schema und Klick auf Show properties (Abbildung 22):

      Abbildung 23: Schema-Namespace eingeben

      Wir wollen nun ein Gästebuch-Schema-Typ namens GuestBookType erstellen, dazu klicken wir mit der rechten Maustaste über Types und wählen Add Complex Type aus.

      Abbildung 24: Erstellen eines Gästebuch-Schema-Typs

      Auf den neu erstellten Typ klicken wir doppelt und fügen dann ein Gästebucheintrag-Element zu diesem Gästebuch-Typ hinzu, indem wir mit der rechten Maustaste auf GuestBookType klicken und danach Add Element anklicken. Das Element soll nun den Namen entry erhalten.

      Abbildung 25: Gästebucheintrag-Element hinzufügen

      Erstellen Sie einen neuen Schema-Typ mit dem Namen GuestBookEntryType, klicken Sie dazu zunächst mit der rechten Maustaste und dann durch die Kombination string -> Set Type -> New... (Abbildung 26).

      Abbildung 26: Neuen Schema-Type definieren

      Fügen Sie dem GuestBookEntryType ein Attribut mit dem Namen ID (mittels Add Attribute) und Elemente (mittels Add Element) mit den Namen name, eMail und message hinzu.

      Abbildung 27: Name des neuen Schema-Typs eingeben

      Abbildung 28: Attribut und Elemente eintragen

      Abbildung 29: Definitionen des Schema-Typs

      Die Multiplizität des Gästebuch-Typs stellen Sie nun auf 0..* (Zero or more).

      Abbildung 30: Multiplizität eingeben

      Speichern Sie jetzt das Schema, wechseln Sie in die Übersicht (Kreis in Abbildung 31) und speichern Sie die Konfiguration des GuestBook.xsd ab.

      Abbildung 31: Schema verlassen und anschließend speichern

      Damit haben wir ein XSD-Schema eingerichtet, mit dem wir später in der WSDL arbeiten wollen.

      Abbildung 32: Das fertige GuestBook.xsd Schema

      Das Schema GuestBook.xsd hat damit folgendes Aussehen:

      WSDL: Gästebuch-Service-Schnittstelle erstellen

      Im XML-Ordner erstellen wir eine neue WSDL. Wählen Sie im Menü des XML-Ordners die Kombination New -> Other... -> Web Services -> WSDL File. Klicken Sie auf den Schalter Next (Abbildung 33). Geben Sie der WSDL-Datei den Namen GuestBook.wsdl (Abbildung 34).

      Abbildung 33: WSDL-Datei anlegen

      Klicken Sie auf Next (Abbildung 34).

      Ändern Sie den Target Namespace zu

      Alle anderen Einstellungen bleiben unverändert. Klicken Sie auf Finish.

      Abbildung 34: Name der WSDL-Datei festlegen

      Abbildung 35: Target Namespace angeben

      Führen Sie auf den Port einen Rechtsklick aus und danach wählen Sie Show properties. Dadurch öffnen Sie die Properties-View (Abbildung 36). Die Port-Adresse des Service ändern Sie auf

      (Abbildung 37). Unter dieser URL kann der Service später angesprochen werden.