Web-Services sind die Grundlage für die Zusammenarbeit von verschiedenen Rechnersystemen über ein Netzwerk. ZDNet zeigt in diesem Leitfaden, wie man einen einfachen Web-Service mit Java, Eclipse, Apache Tomcat und Axis2 schnell erstellt und installiert.
Am häufigsten begegnet man Web-Services in Form einer API. Diese werden von verschiedenen Websites bereitgestellt. Bei Google etwa gibt es Google Maps[1], die Facebook-API[2] wiederum gewährt den Zugriff auf Benutzerdaten, um Applikationen in Facebook zu entwickeln. Daneben werden häufig auch kundenspezifische und private Web-Services für Transaktionen über das Internet verwendet.
Vorbedingungen
Als Voraussetzung für die erfolgreiche Ausführung der einzelnen Schritte in diesem Leitfaden werden folgende Anwendungen benötigt:
- Java SDK[3], Version 6 oder höher (empfohlen)
- Eclipse[4] (empfohlen wird entweder Classic oder Java Developers Package)
- Axis2[5], vorzugsweise die Web-Archive-Distribution (WAR)
- Apache Tomcat[6]
- die Web-Tools Platform[7], ein Satz von Paketen, um Eclipse für Web-Services zu erweitern
Die genannten Anwendungen sind plattformunabhängig und unterstützen die meisten Betriebssysteme.
Eclipse einrichten
Nach dem Download der erforderlichen Software bedarf es noch ein wenig Zeit, um Eclipse[8] so zu konfigurieren, dass es als IDE für die Entwicklung von Web-Services funktioniert.
Zur Installation der Web-Tools-Platform müssen zuvor folgende Komponenten heruntergeladen werden:
- Eclipse Modeling Framework (EMF, XSD Info-Set, SDO)
- Graphical Editing Framework (GEF)
- Data Tools Platform (DTP)
- das SDK-externe Paket der Web-Tools Platform namens Web App Developers
Um die Komponenten zu installieren, müssen die Archive lediglich entpackt und die Dateien in die entsprechenden Ordner plugins und features kopiert oder durch ihre Gegenstücke aus dem Eclipse-Ordner ersetzt werden.
Nach dem Herunterladen werden die Eclipse-Einstellungen aufgerufen, um zu überprüfen, ob die Web-Tools-Plattform erfolgreich installiert ist. Dort müssen die zusätzlichen Optionen Server und Web-Services vorhanden sein.
![]() Eclipse-Präferenzen Großansicht: Klick auf Bild |
![]() Weitere Präferenzen Großansicht: Klick auf Bild |
Nun wird unter Server der Apache Tomcat als Server eingerichtet. Hierzu erweitert man den Baum Server, wählt Installed Runtimes aus und klickt auf "Add", um einen neuen Server hinzuzufügen. Dannach muss der Ordner Apache geöffnet und die Apache Tomcat-Version ausgewählt werden, die installiert ist. Bei der folgenden Aufforderung, den Standort des Apache Tomcat anzugeben, wird einfach das Root-Verzeichnis eingetragen.
![]() Erste Schritte im Projekt-Wizard Großansicht: Klick auf Bild |
Im Schritt Project Facets des Assistenten ist das Kontrollkästchen neben Axis2 Web Services zu aktivieren. Dadurch werden die Axis2-Bibliotheken und -Konfigurationseinstellungen in das neue Web-Services-Projekt übernommen.
![]() Weitere Schritte im Projekt-Wizard Großansicht: Klick auf Bild |
Nachdem der Code in die neue Klasse eingefügt wurde, kann durch einen rechten Mausklick auf die Java-Klassendatei und die Auswahl von "Web Services/Create Web service" ein Web-Service gestartet werden. Die Vorgaben sollten unverändert bei den zuvor gespeicherten Standardeinstellungen bleiben. Anschließend klickt man auf "Finish".
![]() Einen Web-Service starten. Großansicht: Klick auf Bild |
In diesem Stadium sollte der Web-Service auf dem Apache Tomcat ausgeführt und über die folgende URL aufgerufen werden können:
http://localhost:8080/PROJECT_NAME/services/JAVA_DATEINAME/ (hier also: http://localhost:8080/Webservice/services/WS/)
Dabei wird etwas XML-Code erzeugt, und es erfolgt die Meldung, dass ein Endpunkt fehlt. Das ist normal, da die URL direkt, ohne irgendwelche Daten aufgerufen wurde. Da jetzt der Web-Service läuft und ein Client-Projekt erstellt wurde, muss eine neue Java-Klasse im Client-Projekt erzeugt werden, die mit dem Web-Service interagiert. Dies geschieht, indem man eine neue Java-Klasse innerhalb des erzeugten Axis2-Pakets erstellt, beispielsweise unter der Bezeichnung org.apache.ws.axis2. Diese neue Java-Klasse wird eine Hauptfunktion einnehmen, weil sie nach ihrer Fertigstellung als normale Java-Anwendung läuft. Man fügt folgenden Code ein:
Wie bereits erwähnt hat Eclipse beim Anlegen des Web-Service-Client-Projekts Axis2-Leerroutinen für die im Web-Service ausgeführten Methoden erstellt. Diese befinden sich in der Datei WSStub.java und müssen die Methode return_hash() enthalten, die nun eine eigene Klasse namens Return_hash bildet.
Um zu verstehen, welche Methoden man am besten verwendet, ist es ratsam, sich die Klassen-Methoden in Eclipse durchsehen. Dazu gibt man die Klasse ein und wartet nach der Eingabe der Zeichenfolge (.) einen Moment, damit Eclipse die Optionen festlegen kann. Ähnliches lässt sich aber auch in der Java-Klassendatei bewerkstelligen.
Führt man das Ganze als Java-Anwendung aus, sollte es eine Rückmeldung vom Web-Service auslösen. Diese wird in der Eclipse-Konsole angezeigt und liefert somit den Beweis, dass sie den Web-Service erfolgreich durchlaufen hat. Auf diese Weise wird also relativ einfach ein erster Web-Service erstellt.
Hinweis: Auf Mac-Rechnern, speziell unter dem Betriebssystem Leopard, scheint es einen Fehler im Parsing der Java-Option http.nonProxyHosts durch den Axis2 zu geben, wenn ein * enthalten ist. Das wird durch folgende Einstellung in den VM-Argumenten vermieden:
-Dhttp.nonProxyHosts=localhost
Weitere Informationen und Spezifikationen zu Web-Services sind beim World-Wide-Web-Konsortium[9] (W3C) zu finden.
URLs in diesem Artikel:
[1] = http:/
[2] = http:/
[3] = http:/
[4] = http:/
[5] = http:/
[6] = http:/
[7] = http:/
[8] = http:/
[9] = http:/




