Web-Service aus einer Java-Bean mit der IBM WebSphere-JAX-WS-Laufzeitumgebung erstellen

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

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

  1. Wechseln Sie in die Java EE-Perspektive (Fenster > Perspektive öffnen > Java EE).
  2. Wählen Sie in der Ansicht "Enterprise-Explorer" die Bean aus, die Sie erstellt bzw. in den Quellenordner Ihres Webprojekts importiert haben.
  3. 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.
  4. 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:
    1. 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.
    2. 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
    3. 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.
    4. 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.
    5. 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.
    6. 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.
  5. Konfiguration eines WebSphere-JAX-WS-Bottom-up-Web-Service:
    • Name der Stellvertreterklasse: Geben Sie den Klassennamen der Java-Stellvertreterimplementierung an oder akzeptieren Sie den Standardnamen. Die Stellvertreterklasse ist ein Wrapper, der alle Methoden aus der Java-Bean sowie die JAX-WS-Annotation enthält, die die Laufzeitumgebung als Web-Service erkennt. Sie wird im selben Paket wie die ursprüngliche Bean generiert.
    • Java-WSDL-Zuordnungsstil: Der Stil definiert den Codierungsstil für Nachrichten, die an den und vom Web-Service gesendet werden. Der Parameterstil gibt an, ob die Parameter der Methode den gesamten Nachrichtentext darstellen oder Elemente sind, die in ein Element der höchsten Ebene eingeschlossen wurden, das nach der Operation benannt ist. Die möglichen Kombinationen sind RPC, Document/Wrapped und Document/Bare.
    • @WebParam-Anmerkungen für Methodenparameter generieren: Wenn Sie dieses Kontrollkästchen auswählen, wird für die Parameter in einer Methodendeklaration die Annotation @WebParam für die entsprechenden Argumente gesetzt. Die Annotation @WebParam passt die Zuordnung eines einzelnen Parameters zu einem Web-Service-Nachrichtenabschnitt und einem XML-Element an. Weitere Einzelheiten zur Annotation @WebParam erhalten Sie, indem Sie im Abschnitt JAX-WS-Annotationen im Information Center von WebSphere Application Server nach javax.jws.WebParam suchen.
      Tipp: Sie können diese Option standardmäßig auf der Seite "Vorgaben" aktivieren, indem Sie in der Symbolleiste Fenster > Vorgaben > WebSphere > JAX-WS-Codegenerierung auswählen. wählen Sie das Kontrollkästchen @WebParamAnnotationen für Methodenparameter generieren unterhalb des Abschnitts Bottom-Up auswählen.
    • SOAP 1.2-Bindung aktivieren: Wenn Sie diese Option nicht auswählen, werden SOAP 1.1-Bindungen verwendet. Weitere Informationen zu den Unterschieden zwischen SOAP 1.1 und 1.2 finden Sie in der Übersicht über SOAP.
    • MTOM-Unterstützung aktivieren: Wenn Sie dieses Kontrollkästchen auswählen, wird der SOAP Message Transmission Optimization Mechanism für die Optimierung der Übertragung binären Inhalts aktiviert. Weitere Informationen zu MTOM finden Sie in der Übersicht über MTOM.
    • WSDL-Datei im Projekt generieren: Da die Annotationen in der Stellvertreterklasse verwendet werden, um der Laufzeitumgebung mitzuteilen, dass die Bean ein Web-Service ist, wird keine statische WSDL-Datei mehr automatisch in Ihrem Projekt generiert. Die Laufzeitumgebung kann eine WSDL-Datei dynamisch aus den Informationen in der Bean generieren. Wählen Sie diese Option aus, um eine statische WSDL-Datei für den Web-Service zu generieren. Diese Option ist hilfreich, wenn Sie vorhaben, den Client zu einem späteren Zeitpunkt zu erstellen oder die WSDL-Datei für andere Benutzer zu veröffentlichen. Auf der nächsten Seite des Assistenten können Sie die WSDL konfigurieren.
    • Web-Service-Implementierungsdeskriptor generieren: Für JAX-WS-Web-Services werden Implementierungsinformationen von der Laufzeitumgebung dynamisch generiert. Statische Implementierungsdeskriptoren sind nicht mehr erforderlich. Wenn Sie dieses Kontrollkästchen auswählen, werden die Implementierungsdeskriptoren generiert.
    • Anbietererweitungen zulassen: Wenn Sie dieses Kontrollkästchen auswählen, wird die Option -extension zum Befehl wsgen oder wsimport hinzugefügt. Die Option -extension gibt an, ob angepasste Erweiterungen für Funktionen, die nicht in der JAX-WS-Spezifikation angegeben sind, aktiviert oder akzeptiert werden sollen. Die Verwendung von Erweiterungen kann dazu führen, dass die Anwendungen nicht portierbar sind oder nicht mit anderen Implementierungen interagieren können. Einzelheiten finden Sie in den Abschnitten Befehl wsgen für JAX-WS-Anwendungen und Befehl wsimport für JAX-WS-Anwendungen im Information Center von WebSphere Application Server.
    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.
  6. 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
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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:
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:
  1. Klicken Sie mit der rechen Maustaste auf das Projekt und klicken Sie dann auf Eigenschaften > Java-Erstellungspfad > Bibliotheken.
  2. Klicken Sie auf Bibliothek hinzufügen > Benutzerbibliothek > Benutzerbibliotheken.
  3. Erstellen Sie eine Benutzerbibliothek und fügen Sie dieser die JAR-Datei Ihres Dienstprogramms hinzu.
Symbol das den Typ des Artikels anzeigt. Taskartikel
Nutzungsbedingungen für Information Center | Feedback

Symbol für Zeitmarke Letzte Aktualisierung: 29.04.2014

Dateiname: twsbeanjaxws.html