Der Web-Service-Assistent unterstützt Sie bei der Erstellung und Konfiguration eines neuen Web-Service für die Implementierung sowie bei der Implementierung des Web-Service auf einem Server. Nach der Implementierung Ihres Web-Service unterstützt Sie der Assistent beim Generieren des Client-Proxys und der Beispielanwendung zum Testen des Web-Service. Wenn Sie den Test abgeschlossen haben, können Sie Ihren Web-Service in einer UDDI Business Registry mithilfe des Exportassistenten veröffentlichen.
Vorbereitende Schritte
- Wenn Sie WebSphere Application Server verwenden,
wird dringend empfohlen, den Server vor der Ausführung des Web-Service-Assistenten zu starten, weil der Start von
WebSphere Application Server ja nach Geschwindigkeit Ihres Computers
mehrere Minuten dauern kann.
Zum Starten des Servers wählen Sie ihn in der Ansicht "Server"
(Fenster > Sicht anzeigen > Server) aus, klicken Sie mit der rechten Maustaste und wählen Sie
dann Starten aus.
- Erstellen oder importieren Sie eine Bean in den Java™-Quellenordner
eines Webprojekts oder Java-Projekts. Zum Importieren der Bean wählen
Sie den Ordner Java-Ressourcen:
src und dann im Menü "Datei" die Optionen
aus. Navigieren Sie dann zu dem Ordner, in dem sich Ihr Paket befindet.
Informationen zu diesem Vorgang
Gehen Sie wie folgt vor, um einen Web-Service aus einer Bean mit der
IBM® WebSphere-JAX-WS-Laufzeitumgebung zu erstellen:
Vorgehensweise
- Wechseln Sie in die Java EE-Perspektive (Fenster > Perspektive öffnen > Java EE).
- Wählen Sie in der Ansicht "Enterprise-Explorer" die Bean aus, die Sie erstellt bzw. in den Quellenordner Ihres Webprojekts importiert haben.
- Klicken Sie auf Datei > Neu > Andere. Wählen Sie die Option Web-Services aus, um die unterschiedlichen Assistenten für Web-Services anzuzeigen. Wählen Sie den Assistenten Web-Service aus.
Klicken Sie auf Weiter.
- Wählen Sie auf der Seite Web-Services
Bottom-up-Java-Bean-Web-Service als Web-Service-Typ aus.
Optional können Sie die folgenden Aktionen ausführen:
- Wählen Sie mit dem Schiebefeld die Phasen der Web-Service-Entwicklung aus, die Sie ausführen möchten.
Daraufhin werden in den verbleibenden Assistentenanzeigen verschiedene Standardwerte gesetzt:
- Entwickeln: Mit dieser Option wird die WSDL-Definition und die Implementierung des
Web-Service entwickelt. Dazu gehören Tasks wie die Erstellung der Module, die den generierten Code, WSDL-Dateien, Implementierungsdeskriptoren und ggf. Java-Dateien enthalten.
- Assemblieren: Mit dieser Option wird sichergestellt, dass das Projekt, das den Web-Service bzw. Web-Client hostet, bei Bedarf vom Zielanwendungsserver einer EAR-Datei zugeordnet wird.
- Implementieren: Mit dieser Option wird der Implementierungscode für den Service erstellt.
- Installieren: Mit dieser Option werden das Webmodul und die EAR-Dateien auf dem Zielserver installiert und konfiguriert.
Falls Änderungen an den Endpunkten der WSDL-Datei erforderlich sind, werden diese in dieser Phase vorgenommen.
- Starten: Mit dieser Option wird der Server gestartet, sobald der Service auf dem Server installiert wurde.
- Testen: Bei Auswahl dieser Option werden verschiedene Optionen für das Testen des Service bereitgestellt, z. B. die Verwendung des generischen Service-Clients, die Verwendung des Web-Service-Explorers oder die Verwendung der Beispiel-JSPs.
- Serverlaufzeit auswählen: Der Standardserver wird angezeigt.
Wenn Sie Ihren Service auf einem anderen Server implementieren möchten, klicken Sie auf den Link, um einen anderen Server anzugeben.
Diese Task unterstützt die folgenden Serverlaufzeitumgebungen:
- WebSphere Application Server ab Version 7.0
- WebSphere Application
Server Liberty Profile Version 8.5.5
- Web-Service-Laufzeit auswählen: Die Standardlaufzeitumgebung wird angezeigt.
Wenn Sie Ihren Service in der IBM WebSphere-JAX-WS-Laufzeitumgebung implementieren möchten, klicken Sie auf den Link
"Laufzeit" und wählen Sie den Service in dem daraufhin angezeigten Fenster aus.
- Serviceprojekt und Service-EAR-Projekt auswählen:
Das im Arbeitsbereich ausgewählte Projekt wird angezeigt. Es werden nur Webprojekte mit aktivierter
Java 5.0-, Java 6.0- oder
Java 7.0-Facette unterstützt.
Wenn Sie ein anderes Projekt und eine andere EAR-Datei auswählen möchten, klicken Sie auf den Projektlink oder geben Sie einen Namen ein und
lassen Sie vom Assistenten automatisch ein Projekt erstellen. Stellen Sie sicher, dass das als Client-Webprojekt ausgewählte Projekt nicht das Service-Webprojekt ist, da der Service sonst mit den generierten Artefakten des Clients
überschrieben wird.
Bei JAX-WS-Web-Services können die Server- und Clientprojekte dieselbe EAR-Datei nutzen.
- Wenn Sie einen Client erstellen möchten, wählen Sie den Typ des zu generierendem Proxys aus und wiederholen Sie die
Schritte 1-4 für den Client. Der Client kann später anhand der Schritte erstellt werden, die im Abschnitt Web-Service-Client aus einem WSDL-Dokument mit der IBMWebSphere-JAX-WS-Laufzeitumgebung generieren beschrieben sind.
- Web-Service überwachen: Bei Auswahl dieser Option wird der Datenverkehr des Web-Service
über den TCP/IP-Monitor gesendet, was Ihnen ermöglicht, den vom Web-Service generierten SOAP-Datenverkehr zu überwachen und
diesen im Hinblick auf WS-I-Konformität zu testen. Alternativ können Sie einen TCP/IP-Monitor gemäß der Beschreibung unter im Abschnitt
Using the TCP/IP Monitor to test web services
manuelle einrichten.
- Konfiguration eines WebSphere-JAX-WS-Bottom-up-Web-Service:
Anmerkung: Wenn die Bean bereits eine Annotation @javax.jws.WebService hat,
sind die meisten Felder auf dieser Seite inaktiviert, weil der Assistent
keine Stellvertreterbean generieren muss. Sie können im Assistenten lediglich die Option zum Generieren einer WSDL-Datei auswählen.
Wenn Sie Ihrer Java-Bean nur die Annotation @javax.jws.WebService
hinzugefügt haben und weitere Optionen wie die SOAP-1.2-Bindung oder MTOM aktivieren möchten, beenden Sie den Assistenten und entfernen
Sie die Annotation oder fahren Sie mit der Erstellung des Web-Service anhand der Dokumentation zu den Annotationen fort.
Im Assistenten können Sie einer bereits vorhandenen teilweise annotierten Bean keine neuen Annotationen hinzufügen.
- Seite "Konfiguration der WebSphere-JAX-WS-WSDL-Schnittstelle": Wenn Sie auf der vorherigen Seite die Option zum Generieren einer WSDL-Datei ausgewählt haben, wird diese Seite
angezeigt, auf der Sie die generierte WSDL-Datei konfigurieren können.
Sie können Folgendes konfigurieren:
- WSDL-Zielnamespace
- WSDL-Servicename
- WSDL-Portname
- Seite "Web-Service testen": Wenn Sie die Option zum Testen des Web-Service ausgewählt haben,
wählen Sie die Testfunktion für den generierten Web-Service aus und klicken Sie dann auf
Starten. Daraufhin wird der Web-Service in der Ansicht "Web-Service-Explorer" oder "Generischer Service-Client" geöffnet.
Wählen Sie die Operation aus, die Sie testen möchten, geben Sie die erforderlichen Informationen ein und klicken Sie auf Los. Das Ergebnis wird im
Statusfenster angezeigt. Klicken Sie auf Weiter.
- Seite "Konfiguration eines WebSphere-JAX-WS-Web-Service-Clients": Wenn Sie die Option zum Generieren eines
Clients ausgewählt haben, können Sie auf dieser Seite die folgenden Optionen für die Konfiguration angeben:
- Ausgabeordner: Dies ist die Position, an der der Client-Code generiert wird.
- Zielpaket: Der Assistent für Web-Service-Clients generiert mehrere
Java-Dateien. Er erstellt standardmäßig einen
Paketnamen, der auf dem in der WSDL-Datei angegebenen Namensbereich basiert. Sie können auch einen eigenen
Paketnamen angeben, um dieses Standardverhalten außer Kraft zu setzen.
- Portierbaren Client generieren: Wenn Sie dieses Kontrollkästchen auswählen, können Sie Ihren Web-Service-Client-Code
von einer Maschine auf eine Maschine oder aus einer Instanz von
WebSphere Application
Server in eine andere verschieben.
Bei Auswahl dieser Option werden das WSDL-Dokument sowie alle
XML-Schemadokumente und sonstigen WSDL-Dokumente, von denen das WSDL-Dokument abhängig ist,
in das Clientprojekt unter "WEB-INF/wsdl" kopiert und es wird ein Element file:relativeURL, das auf diese
Kopie verweist, in den statischen Initialisierungsblock der Klasse des JAX-WS-Service injiziert.
- Asynchronen Aufruf für generierten Client aktivieren: Wenn Sie die Option zum Aktivieren eines
asynchronen Clients auswählen, werden für jede Methode im Web-Service zwei weitere Methoden erstellt.
Bei diesen Methoden handelt es sich um Polling- und Callback-Methoden, die eine asynchrone Funktionsweise
des Clients ermöglichen.
- JAX-WS- oder JAXB-Bindungsdateien angeben: Wenn Sie angepasste JAX-WS- oder JAXB-Bindungsdateien
erstellt haben, wählen Sie dieses Kontrollkästchen aus, um diese Dateien zum Erstellen des Web-Service-Clients zu verwenden.
Bei Auswahl dieses Kontrollkästchens können Sie auf der nächsten Seite des Assistenten
zu den angepassten Bindungsdeklarationsdateien navigieren.
- Namen der Client-Proxy-Klasse anpassen: Wählen Sie dieses Kontrollkästchen aus, wenn Sie die Zuordnung des Standardportnamens zum Namen der Serviceimplementierungsklasse ändern möchten.
- Seite "Angepasste Bindungsdeklarationen": Wenn Sie die Option zur Angabe von
JAX-WS- oder JAXB-Bindungsdateien ausgewählt haben, können Sie zu den Dateien auf dieser Seite navigieren.
- Seite "Konfiguration der Proxy-Generierung": Sie können für jeden definierten Port einen Namen für die
Proxy-Klasse eingeben oder den Standardnamen akzeptieren.
- Seite "Test des Web-Service-Clients":
- Generierten Proxy testen: Wenn Sie diese Option auswählen, wird der Beispielclient in einem Web-Browser gestartet, was Ihnen das Testen der Funktionalität ermöglicht.
- Testfunktion auswählen: Sie können den generierten Proxy im
generischen Service-Client oder im Web Services Explorer testen oder die
Beispiel-JSPs von JAX-WS 2.0 generieren und verwenden.
- Ordner: Wenn Sie sich für das Testen des Proxys über eine JSP entschieden haben, können Sie den Ordner auswählen, in dem sich die JSP befindet, und Sie können die Methoden auswählen, die in der JSP enthalten sind.
- Methoden: Wählen Sie bereitzustellenden Methoden aus. Wenn Sie sich für die Aktivierung des asynchronen Aufrufs entschieden haben, müssen die asynchronen Methoden ebenfalls aufgelistet werden.
- Test auf Server ausführen: Startet den Server automatisch.
Ergebnisse
Nach der Erstellung des Web-Service kann je nach ausgewählten Optionen Folgendes passieren:
- Wenn Sie sich für das Testen des generierten Proxys mit Web-Service-JSPs
entschieden haben, wird der Proxy in einem Web-Browser unter der folgenden URL gestartet:
http://localhost:Port/WebprojektClient/sampleBeanname/Name_des_Web-Service/TestClient.jsp.
Sie können diese Beispielanwendung verwenden, um den Web-Service zu testen, indem Sie eine Methode auswählen, einen Wert
für die Methode eingeben und dann auf Aufrufen klicken.
Das Ergebnis der Methode wird im Ergebnisfenster angezeigt.
- Wenn Sie sich für das Testen des generierten Proxys mit dem Universal
Test Client entschieden haben, wird der Proxy in einem Browserfenster unter einer URL
ähnlich der folgenden gestartet: http://localhost:Port/UTC/preload?object=Beanpaket.Bean-Service-Proxy.
Erweitern Sie unter "Objekte" den Proxy-Stub, um die Methoden des Web-Service anzuzeigen.
Klicken Sie auf die Methode, die Sie testen möchten, geben Sie im
Teilfenster "Parameter" einen Wert ein und klicken Sie auf Aufrufen. Daraufhin wird das Ergebnis
automatisch generiert.
- Wenn Sie sich für das Testen des Web-Service mit dem Web-Service-Explorer entschieden haben, wird der Explorer
geöffnet. Wählen Sie die Operation aus, die Sie testen möchten, geben Sie die erforderlichen Informationen an und klicken Sie auf Los.
Das Ergebnis wird im
Statusfenster angezeigt.
Einschränkung: Wenn Sie einen JAX-WS-Web-Service aus einer Klassendatei generieren, die von anderen Klassen abhängig ist,
die in separaten JAR-Dateien enthalten sind, muss das Projekt diese externen JAR-Dateien über die
Java EE-Modulabhängigkeiten oder über Benutzerbibliotheken referenzieren.
Die Verwendung von Java EE-Modulabhängigkeiten ist möglich, wenn die JAR-Dateien im
EAR-Projekt enthalten sind.
Wenn die JAR-Dateien zu einer gemeinsam genutzten Bibliothek gehören, die in
WebSphere Application Server konfiguriert ist,
muss eine Benutzerbibliothek verwendet werden, um das Projekt vor der Generierung des Web-Service für die Entwicklung
zu konfigurieren.
Gehen Sie wie folgt vor, um dem Projekt eine Benutzerbibliothek hinzuzufügen:
- Klicken Sie mit der rechen Maustaste auf das Projekt und klicken Sie dann auf
.
- Klicken Sie auf .
- Erstellen Sie eine Benutzerbibliothek und fügen Sie dieser die JAR-Datei Ihres Dienstprogramms hinzu.