EJB-Skeleton aus einem WSDL-Dokument mit der WebSphere-JAX-WS-Laufzeitumgebung erstellen

Der Web-Service-Assistent unterstützt Sie beim Erstellen einer Skeleton-Bean aus einem vorhandenen WSDL-Dokument. Die Skeleton-Bean enthält eine Reihe von Methoden, die den im WSDL-Dokument beschriebenen Methoden entsprechen. Bei der Erstellung der Bean hat jede Methode eine einfache Implementierung, die Sie durch das Bearbeiten der Bean ersetzen.

Vorbereitende Schritte

Voraussetzungen:

Informationen zu diesem Vorgang

Gehen Sie wie folgt vor, um eine Skeleton-Java-Bean aus einem WSDL-Dokument mit der 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 WSDL-Datei aus, die Sie erstellt bzw. importiert haben.
  3. Klicken Sie auf Datei > Neu > Andere. Wählen Sie Web-Services aus, um die verschiedenen Web-Service-Assistenten anzuzeigen. Wählen Sie den Assistenten Web-Service aus. Klicken Sie auf Weiter.
  4. Seite "Web-Services" Wählen Sie Top-down-EJB-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. Server 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.
    3. Laufzeitumgebung auswählen: Die Standardlaufzeit wird angezeigt. Wenn Sie Ihren Service in der IBM® JAX-WS-Laufzeitumgebung implementieren möchten, klicken Sie auf den Link "Laufzeit" und wählen Sie den Service in dem daraufhin angezeigten Fenster aus.
      Diese Task unterstützt die folgenden Serverlaufzeitumgebungen:
      • WebSphere Application Server ab Version 7.0
      • WebSphere Application Server Liberty Profile Version 8.5.5
    4. Serviceprojekt auswählen: Das in Ihrem Arbeitsbereich ausgewählte Projekt wird angezeigt. Es werden nur EJB-Projekte 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 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: Wenn Sie diese Option auswählen, wird der Web-Service-Datenverkehr über den TCP/IP-Monitor gesendet, was Ihnen ermöglicht, den vom Web-Service generierten SOAP-Datenverkehr zu überwachen und auf WS-I-Konformität hin zu überprüfen. 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.
    7. Veröffentlichen Sie den Web-Service.
  5. Seite "Konfiguration eines WebSphere-JAX-WS-Top-down-EJB-Web-Service":
    • Ausgabeordner: Geben Sie die Position ein, an der das generierte EJB-Skeleton generiert wird, oder akzeptieren Sie den Standardwert.
    • Zielpaket: Geben Sie den Paketnamen für die generierte Java ein oder akzeptieren Sie den Standardwert.
    • EJB-Web-Service-Bindung: Geben Sie an, ob Ihr Web-Service HTTP- oder JMS-Bindungen verwendet.
    • Wrapperstil aktivieren: Aktiviert die WSDL-Java-Zuordnung des Wrapperstils. Für WSDL-Dokumente, die ein eingeschlossenes Muster des Typs "document/literal" implementieren, wird ein Stammelement im XML-Schema deklariert, das Operationswrapper für einen Nachrichtenfluss verwendet wird. Für die Anforderung und die Antwort sind gesonderte Wrapperelementdefinitionen vorhanden. Einfacher ausgedrückt, das Element, dessen Namen mit der Operation übereinstimmt (das Wrapperelement), wird so aufgeteilt, dass jedes seiner Inhaltselemente zu einem Parameter der generierten Java-Methodensignatur wird.
    • 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.
    • Version des zu generierenden JAX-WS-Codes: WebSphere Application Server Version 7.0 unterstützt Code, der JAX-WS Version 2.0 oder 2.1 entspricht. WebSphere Application Server Version 8.0, Version 8.5 und WebSphere(r) Application Server Liberty Profile Version 8.5.5 unterstützen Code, der JAX-WS Version 2.0, Version 2.1 oder Version 2.2 entspricht.
    • WSDL in Projekt kopieren: Wählen Sie diese Option aus, um die WSDL-Datei in das Serviceprojekt zu kopieren. Wenn Sie diese Option nicht auswählen, wird die erforderliche WSDL bei Bedarf dynamisch zur Laufzeit generiert. 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.
    • Serialisierbare JAXB-Klassen generieren: Wenn Sie in WebSphere Application Server und WebSphere(r) Application Server Liberty Profile Version 8.5.5 die Java 6-Facette aktivieren, können Sie JAXB-Klassen generieren, die die Schnittstelle "java.io.Serializable" implementieren. Für Klassen, die diese Schnittstelle nicht implementieren, werden keine Status serialisiert und entserialisiert.
    • 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 für die Erstellung des Web-Service zu verwenden. Nach Auswahl dieser Option können Sie auf der nächsten Seite des Assistenten die angepassten Bindungsdeklarationsdateien anzeigen.
    • Namen der Serviceimplementierungsklasse anpassen: Wählen Sie dieses Kontrollkästchen aus, wenn Sie die Zuordnung des Standardportnamens zum Namen der Serviceimplementierungsklasse ändern möchten.
    • Schemabibliothek generieren: Wählen Sie diese Option aus, um die Generierung von Schemacode in einer Schemabibliothek zuzulassen. Wenn Sie eine Schemabibliothek auswählen, können Sie die Zuordnungen zwischen XSD-Dokumenten oder Gruppen von XSD-Dokumenten zu einem Projekt auf einer der späteren Seiten anpassen.
    • 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.
  6. Je nach den Optionen, die Sie auf der vorherigen Seite ausgewählt haben, werden Sie möglicherweise aufgefordert, Ihre Web-Service-Implementierung auf den folgenden Seiten anzupassen:
    1. Seite "Konfiguration der WebSphere-JAX-WS-JMS-Bindung": Wenn Sie JMS als Transportmethode für Ihren Web-Service ausgewählt haben, müssen Sie auf dieser Seite die Informationen zur Bindung eingeben.
      • JMS-Ziel: Wählen Sie "Warteschlange" oder "Topic" als Zieltyp aus.
      • JNDI-Name des Ziels: Der JNDI-Name der Zielwarteschlange bzw. des Zieltopics.
      • JMS-Verbindungsfactory: Der JNDI-Name der Verbindungsfactory.
      • Name für Ausgangskontextfactory: Der Name der zu verwendenden Ausgangskontextfactory. Dieser Name wird der Eigenschaft "java.naming.factory.initial" zugeordnet.
      • URL des JNDI-Providers: Diese URL wird der Eigenschaft "java.naming.provider.url" zugeordnet.
      • Übermittlungsmodus: Diese Einstellung gibt an, ob die Anforderungsnachricht persistent ist oder nicht.
      • Laufzeit für Anforderungsnachricht: Die Laufzeit der Anforderungsnachricht in Millisekunden. Der Wert 0 definiert eine unbegrenzte Laufzeit.
      • Priorität für JMS-Anforderungsnachricht: Die JMS-Priorität der Anforderungsnachricht. 0 ist die niedrigste Priorität und 9 die höchste.
      • Name für Antwort: Der Name der Portkomponente, an die die Anforderung gesendet wird.
      • Benutzer-ID für Verbindungsfactory: Die für den Zugriff auf die Verbindungsfactory zu verwendende Benutzer-ID.
      • Kennwort für Verbindungsfactory: Das für den Zugriff auf die Verbindungsfactory zu verwendende Kennwort.
      • SOAP/JMS-Interoperabilitätsprotokoll verwenden: Wenn Sie diese Option auswählen, wird sichergestellt, dass der Web-Service mit dem von der W3C SOAP-JMS Binding Working Group definierten Protokoll konform ist. Weitere Informationen finden Sie auf der Website Charter of the SOAP-JMS Binding Working Group.
      • Angepasste JMS-Eigenschaften definieren: Wenn Sie diese Option auswählen, wird eine Seite aufgerufen, auf der Sie Eigenschaftswertpaare eingeben können.
    2. 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.
    3. Seite "Konfiguration der Serviceimplementierung": Sie können für jeden in der WSDL-Datei definierten Port einen Namen für die Serviceimplementierungsklasse eingeben oder den Standardnamen akzeptieren.
    4. Seite "Schemaprojektkonfiguration": Wenn Sie die Option zum Generieren einer Schemabibliothek ausgewählt haben, verwenden Sie diese Seite, um die Zuordnungen zwischen XSD-Dokumenten und Projekten anzupassen. Diese Feature funktioniert nur, wenn alle Schemaabhängigkeiten in verschiedenen Zielnamespaces enthalten sind. Andernfalls treten Kompilierungsfehler in ObjectFactory.java auf.
  7. Seite "Konfiguration des WebSphere-JAX-WS-Routerprojekts": Diese Seite wird angezeigt, wenn angezeigt, wenn WebSphere Application Server als Ziellaufzeitumgebung verwendet wird. Bei der Verwendung von WebSphere Application Server Liberty Profile Version 8.5.5 wird diese Seite nicht angezeigt.
    • HTTP-Router: Geben Sie den Namen des Projekts ein, das Sie als Routermodul verwenden möchten. Ein Routermodul stellt einen Web-Service-Endpunkt für einen bestimmten Transport dar.
    • JMS-Router: Geben Sie den Namen des Projekts ein, das Sie als Routermodul verwenden möchten. Ein Routermodul stellt einen Web-Service-Endpunkt für einen bestimmten Transport dar.
    • MDB-Implementierungsmechanismus: Wählen Sie "JMS-Aktivierungsspezifikation" oder "Listener-Port" als Message-driven Bean-Implementierungsmechanismus aus.
    • JNDI-Name der Aktivierungsspezifikation: Geben Sie den JNDI-Namen der Aktivierungsspezifikation ein, die für die Implementierung dieser Message-driven Bean verwendet werden soll. Dieser Name muss mit dem Namen einer Aktivierungsspezifikation übereinstimmen, die Sie für WebSphere Application Server definieren.
    • Name des Listener-Eingabeports: Geben Sie den Listener-Port-Namen des Routermoduls ein.
  8. Seite "Web-Service testen": Wenn Sie die Option zum Testen des Web-Service aus Schritt 4a 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. Beachten Sie, dass Sie die Ansicht "Web-Service-Explorer" nur zum Testen von Web-Services verwenden können, die HTTP-Transporte verwenden. 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.
  9. 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 oder WebSphere(r) Application Server Liberty Profile Version 8.5.5 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.
    • 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.
    • Version des zu generierenden JAX-WS-Codes: Für WebSphere Application Server Version 7.0 können Sie JAX-WS 2.0- oder JAX-WS-2.1-kompatiblen Code generieren. Für WebSphere Application Server Version 8.0, Version 8.5 und WebSphere Application Server Liberty Profile Version 8.5.5 können Sie JAX-WS 2.0-, JAX-WS 2.1- oder JAX-WS-2.2-kompatiblen Code generieren.
  10. 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.
  11. Seite "Konfiguration der Serviceimplementierung": Sie können für jeden definierten Port einen Namen für die Proxy-Klasse eingeben oder den Standardnamen akzeptieren.
  12. 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:
Symbol das den Typ des Artikels anzeigt. Taskartikel
Nutzungsbedingungen für Information Center | Feedback

Symbol für Zeitmarke Letzte Aktualisierung: 29.04.2014

Dateiname: tsklejbjaxws.html