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 (W3C) zu finden.
Neueste Kommentare
4 Kommentare zu So erstellt man mit Eclipse einen einfachen Web-Service
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.
WSDL error
Ich hab das Problem folgendermassen gelöst. Bei dem Erzeugen des Clients bin ich stufenweise vorgegangen: zuerst den Client als Development generiert, Dann Installation biz zum Starten.
Schöne Grüße
PlaN
Leider funktioniert es bei mir und Eclipse Galileo nicht komplett
Wenn ich den Webservice erzeuge, erstellt Eclipse in der Standardeinstellung leider gar kein Axis Verzeichnis, in dem ich einen Client unterbringen könnte.
Damit fehlt dann auch die Klasse WSStub.java, ohne die ich den Client nicht bauen kann.
Muss man auf irgendwas achten?
Beim klicken auf Finish nach Create Webservice: "Selection must be WSDL"
Immer kommt dieser Fehler. Irgendjemand eine Idee?
Gruß,
Joe
AW: Beim klicken auf Finish nach Create Webservice: „Selection must be WSDL“
Hallo,
Ich habe auch dasselbe Problem. Leider konnte ich es nicht lösen :-(
Hat jemand eine Idee wie man das löst?
LG