Java Reference
In-Depth Information
Anschließend ist die WSDL-Beschreibung unter der folgenden Adresse aufrufbar:
http://localhost:8080/Serviceanbieter?wsdl . Soll nun ein Servicenutzer
zu diesem Web Service implementiert werden, kann diese Beschreibung seitens des
Servicenutzers verwendet werden, um Java-Klassen zu generieren. Hierfür steht das
Kommandozeilenprogramm wsimport bereit. Nach dem Ausführen des Kommandos
wsimport -s src -keep -d bin http://localhost:8080/Serviceanbie-
ter?wsdl 100 wurde u. a. eine Klasse ServiceanbieterService erzeugt, die nach
dem Entwurfsmuster Fabrikmethode (siehe Kapitel 4.18) eine Instanz der Klasse
Serviceanbieter zurückgibt. Hier nun das Programm, das den Web Service aufruft:
// Datei: Servicenutzer.java
public class Servicenutzer
{
public static void main (String[] args) {
ServiceanbieterService s = new ServiceanbieterServiceLocator();
Serviceanbieter anbieter;
try {
anbieter = s.getServiceanbieterPort();
anbieter.methodeA ("Nachricht an Serviceanbieter");
anbieter.methodeB();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Hier das Protokoll des Programmlaufs des Serviceanbieters:
Serviceanbieter ist nun aktiv und wartet auf
Anfragen...
Server: Methode A wurde aufgerufen
Parameter: Nachricht an Serviceanbieter
Server: Methode B wurde aufgerufen
5.5.7.2
SOA-Protokoll - SOAP 1.2
SOAP wird vollständig in XML verfasst und wurde vom W3C spezifiziert [W3SOAP].
Der Aufbau einer SOAP-Nachricht wird dabei in drei Bereiche eingeteilt. Der soge-
nannte Umschlag oder Rahmen (engl. envelope ) umhüllt die anderen beiden Berei-
che der Nachricht. Diese Kapselung ist in Bild 5-35 dargestellt. Die Kopfzeile (engl.
header ) ist optional. Der Inhalt der Kopfzeile ist nicht genau festgelegt. SOAP bietet
hier lediglich einen Bereich zur Übertragung von Metadaten an. Üblicherweise wird die
Kopfzeile für die Übertragung von Sicherheitsinformationen genutzt. Nach der Kopf-
zeile folgt der Datenbereich (engl. body ) der SOAP-Nachricht. In diesem Bereich be-
100 Der Parameter -d gibt das Verzeichnis an, in dem die kompilierten .class-Dateien gespeichert wer-
den sollen. Falls die Entwicklungsumgebung Eclipse verwendet wird, ist dies das Verzeichnis bin ,
im Falle von Netbeans ist es das Verzeichnis build .
Search WWH ::




Custom Search