Loading…

Mein neuer 15 Stunden Android 7 Kurs

Lern Android 7 und Google Firebase
jetzt Loslegen
Symbolbild: HTML Quellcode

Java EE Webservice Server und Client schreiben

In diesem kleinen Tutorial zeige ich dir wie du einen Server und einen Client mit JavaEE in Java 8 mit  XML Web Services (JAX-WS) schreiben kannst.
Ich baue auf die beiden Grundlagenartikel zum Server und zum Client auf. zumindest mal gelesen haben solltest du sie.
Damit ein Webservice in Java verwendet werden kann müssen Proxy Klassen erzeugt werden.

Der Proxy wird anhand der WSDL Klassen erzeugt dafür gibt es das Tool: wsimport-Tool. Es erstellt die benötigten Java Klassen. Mit Netbeans kannst du einfach die WSDL URL einbinden. Auf dem einen oder anderen weg sollte dein Projekt dann die Erzeugten Klassen haben.

 

Ich habe ein normales JavaEE Projekt angelegt, genau wie in dem anderen Artikel.

Die Klasse hat die @WebService Annotation und die Methoden haben entweder die @WebService Annotation, damit der client nach aufruf auf rückantwort wartet oder die @Oneway Annotation damit der Client nicht wartet sondern sofort weiterarbeitet.

Sind die Klassen soweit im Server erstellt kann man sich die Proxyklassen mit dem WSImport toll oder mit Netbeans erstellen. Der aufruf ist unter Windows und linux eignetlich gleich lediglich die Dateipfade müssen geändert werden!


Durch WSImportt wurden in beiden Verzeichnissen die Sorce- und die Compilierten Dateien erstellt.

Diese Klassen können jetzt verwendet werden.
Dafür kopiert man einfach die Dateien ab dem Wurzeiverzeichniss auf den src Ordner der eigenen Java Anwendung.
Bei mir heisst das paket einfach Test also kopiere ich es einfach einschliesslich aller UNTERORDNER in die IDE

Ergebniss des Imports von WSImport in Eclips. Die Sorcedateien der XML Anwendung
Ergebniss des Imports von WSImport in Eclips. Die Sorcedateien der XML Anwendung
Das Projekt siht nun so aus wie auf der Abbildung.
Zwischenstand:
Wir haben einen Server geschrieben.
Der Server hat Zwei Methoden, einmal eine Methode bei der man einen String übergibt und der Server diesen Verarbeitet und Verändert zurück gibt. Die andere Methode ist in Java nach dem Fire-and-forget Prinzip geschrieben, der Client ruft sie auf und die Methode arbeitet einfach vor sich hin bis sie fertig ist.
Der Client kann schon irgendwas anderes in der Zeit machen. Das ist also immer dann sinvoll wen der Client keine Rückmeldung vom Server braucht.
NACHDEM die Servermethoden fertig geschrieben wurden und de r Server gestartet wurde, wurden sie mit dem Tool WSImport Kompiliert und im client eingebunden.
Nun kann eine Mainmethode im client geschrieben werden und auf die Methoden des Servers zugegriffen werden.

 

Wichtig: Der Server MUSS vor dem Client laufen!
Es ist sehr einfach im Prinzip werden nur die 2 Klassen gebraucht alles andere macht die IDE und WSImport für einem.

Die Rückgabe bei der Ersten Methode erscheint in der Konsole, bei der Zweiten Methode erscheint nichts.
Klar, denn die @Oneway methode soll ja nichts zurückgeben.

Auch hier gibt es wieder alle Projektdateien zum Download die sind eigentlich sehr selbsterklärend. WebService-Client-and-Server

One thought on “Java EE Webservice Server und Client schreiben

Comments are closed.