Java Reference
In-Depth Information
: Serviceanbieter
: Servicenutzer
starteServer()
(1)
(2)
(3)
rufeWSBeschreibungAlsWSDLab()
rufeWSBeschreibungAlsWSDLab() : result
gen eriereServerStub()
: ServerStub
«Create»
(4)
methodeA()
methodeA()
methodeA() : result
methodeA() : result
Bild 5-34 JAX-WS Sequenzdiagramm
Zuerst muss seitens des Serviceanbieters ein Web Service-Zugangspunkt definiert
und der Serviceanbieter gestartet werden (1). Anschließend kann ein Servicenutzer
die WSDL-Beschreibung eines Web Service vom Serviceabieter abrufen (2). Die
WSDL-Beschreibung kann vom Servicenutzer dazu verwendet werden, um Klassen,
die die Kommunikation mit dem Serviceanbieter abstrahieren, automatisch zu
generieren (sogenannte Stub-Klassen). Dieser Generierungsschritt muss nur einmal
vor der ersten Nutzung des gewünschten Service durchgeführt werden (3). Die
Anwendung eines Servicenutzers kann sich mit Hilfe der generierten Klassen leicht (es
muss nur eine Klasse instanziiert werden) mit einem Serviceanbieter verbinden, ohne
sich mit näheren Details zur Kommunikation beschäftigen zu müssen (4). 98
In JAX-WS markiert die Annotation @WebService ein Interface oder eine Klasse. Eine
so gekennzeichnete Klasse bzw. ein so gekennzeichnetes Interface stellt den Zu-
gangspunkt für Aufrufe des Servicenutzers dar. In der Standardeinstellung sind an-
schließend alle Methoden des Interface bzw. der Klasse als öffentlich aufrufbar mar-
kiert. Mit den optionalen Argumenten serviceName und targetNamespace können
aussagekräftige Namen gewählt werden, die in der Beschreibung des Service in der
WSDL-Datei genannt werden und hilfreich sind, wenn ein Servicenutzer basierend auf
dieser Beschreibung automatisiert Java-Klassen generiert. Das folgende Beispiel 99
zeigt eine Klasse als Web Service-Zugangspunkt:
// Datei Serviceanbieter.java
@WebService (targetNamespace="serviceanbieter")
public class Serviceanbieter
{
@WebMethod
public void methodeA (String para){
System.out.println ("Server: Methode A wurde aufgerufen");
98 Instanziiert der Servicenutzer die ServerStub-Klassen, wird im Hintergrund eine Verbindung zum
Serviceanbieter aufgebaut.
99 In diesem Programmbeispielen wurde aus Gründen der Übersichtlichkeit auf die benötigten "import"-
Anweisungen verzichtet. Der vollständige Quellcode ist über den begleitenden Webauftritt zugäng-
lich.
Search WWH ::




Custom Search