Web-Service-Anwendungen mit JAX-WS implementieren

Wenn Sie von vorhandenen JavaBeans oder Enterprise-Beans ausgehen, können Sie einen Bottom-up-Ansatz verwenden, um Web-Services zu entwickeln, die auf dem Programmiermodell Java™ API for XML-Based Web Services (JAX-WS) basieren.

Vorbereitende Schritte

Bestimmen Sie die vorhandenen JavaBeans oder Enterprise-Beans, die Sie als JAX-WS-Web-Service bereitstellen möchten.

Bewährte Verfahren: IBM® WebSphere Application Server unterstützt das Programmiermodell Java API for XML-Based Web Services (JAX-WS) und das Programmiermodell Java API for XML-based RPC (JAX-RPC). JAX-WS ist das Web-Service-Programmiermodell der nächsten Generation, das die vom Programmiermodell JAX-RPC bereitgestellte Grundlage erweitert. Durch die Verwendung des strategischen Programmiermodells JAX-WS, das ein auf Standards basierendes Annotationsmodell unterstützt, vereinfacht sich die Entwicklung von Web-Services und -Clients. Obwohl das Programmiermodell JAX-RPC und JAX-RPC-Anwendungen weiterhin unterstützt werden, sollten Sie das einfach zu implementierende Programmiermodell JAX-WS für die Entwicklung neuer Web-Service-Anwendungen und -Clients nutzen.

Informationen zu diesem Vorgang

Wenn Sie Web-Services auf der Basis des Programmiermodells JAX-WS entwickeln möchten, können Sie einen Bottom-up-Entwicklungsansatz, ausgehend von vorhandenen JavaBeans oder Enterprise-Beans, verwenden, oder Sie können sich für einen Top-down-Entwicklungsansatz, ausgehend von einer vorhandenen WSDL-Datei (Web Services Description Language), entscheiden. In dieser Task werden die Schritte für den Bottom-up-Entwicklungsansatz beschrieben.

Wenn Sie JAX-WS-Web-Services aus vorhandenen JavaBeans oder Enterprise-Beans entwickeln, können Sie die Bean als JAX-WS-Web-Service bereitstellen, indem Sie Annotationen verwenden. Wenn Sie der Bean die Annotation "@WebService" oder "@WebServiceProvider" hinzufügen, definieren Sie die Bean damit als JAX-WS-Web-Service. JAX-WS-Web-Services können optional eine Serviceendpunktschnittstelle verwenden. Zusätzlich zur Annotation der Bean und der Abgabe einer optionalen Serviceendpunktschnittstelle müssen Sie alle Artefakte, die der Web-Service erfordert, assemblieren und die daraus resultierende Anwendung in der Anwendungsserverumgebung implementieren, um die Aktivierung der Bean als Web-Service abzuschließen. Obwohl die Verwendung einer WSDL-Datei die empfohlene Methode ist, müssen Sie keine WSDL-Datei mit Ihren JAX-WS-Web-Services packen.

Hinweise für die Verwendung von JavaBeans
  • Als JAX-WS-Web-Services bereitgestellte JavaBeans werden nur über einen HTTP-Transport unterstützt.
  • JavaBeans kann Contexts and Dependency Injection (CDI, Kontext- und Abhängigkeitsinjektion) verwenden. Beachten Sie, dass die Konstruktorinjektion nicht unterstützt wird.
Hinweise für die Verwendung von Enterprise-Beans
  • Die Enterprise-Bean muss eine Stateless- oder Singleton-Session-Bean sein.
  • Als JAX-WS-Web-Services bereitgestellte Enterprise-Beans müssen in Modulen der EJB Version 3.0 oder höher gepackt werden.
  • JAX-WS-Anwendungen, die Enterprise-Beans enthalten, müssen mit dem Befehl endptEnabler implementiert werden.
  • JAX-WS-Web-Services, die Enterprise-Beans verwenden, werden über einen HTTP- oder JMS-Transport (Java Message Service) unterstützt.
  • Enterprise-Beans können CDI nutzen. Beachten Sie, dass die Konstruktorinjektion nicht unterstützt wird.
  • Optional können Sie WSDL-Dokumente (Web Services Description Language) in das JAX-WS-Anwendungspaket aufnehmen.

Ab WebSphere Application Server Version 7.0 werden Java EE 5-Anwendungsmodule (Webanwendungsmodule der Version 2.5 oder höher oder EJB-Module der Version 3.0 oder höher) nach Annotationen durchsucht, um JAX-WS-Services und -Clients zu identifizieren. Anwendungsmodule vor Java EE 5 (Webanwendungsmodule der Version 2.4 oder früher oder EJB-Module der Version 2.1 oder früher) werden aus Leistungsgründen standardmäßig nicht nach JAX-WS-Annotationen durchsucht. In Feature Pack for Web Services Version 6.1 werden die Webanwendungsmodule einer Version vor Java EE 5 standardmäßig gescannt, um die JAX-WS-Services zu identifizieren und die Webanwendungsmodule und EJB-Module einer Version vor Java EE 5 während der Anwendungsinstallation nach Service-Clients zu scannen. Da Module vor Java EE 5 ab WebSphere Application Server Version 7.0 während der Anwendungsinstallation bzw. des Serverstarts standardmäßig nicht nach Annotationen durchsucht werden, müssen Sie zur Gewährleistung der Abwärtskompatibilität mit dem Feature-Pack früherer Releases entweder die Eigenschaft "UseWSFEP61ScanPolicy" in der Manifest-Datei "META-INF/MANIFEST.MF" einer WAR-Datei (Webarchiv) oder eines EJB-Moduls konfigurieren oder die angepasste JVM-Eigenschaft (Java Virtual Machine) "com.ibm.websphere.webservices.UseWSFEP61ScanPolicy" auf den Servern definieren, damit die Module während der Anwendungsinstallation bzw. des Serverstarts durchsucht werden. Wenn Sie mehr über das Durchsuchen von Modulen nach Annotationen erfahren möchten, lesen Sie die Informationen zu JAX-WS-Annotationen.

Vorgehensweise

  1. Richten Sie eine Entwicklungsumgebung für Web-Services ein. Sie müssen keine Entwicklungsumgebung einrichten, wenn Sie Rational Application Developer verwenden.
  2. Entwickeln Sie JAX-WS-Web-Services mit Annotationen.
  3. Generieren Sie Java-Artefakte für JAX-WS-Anwendungen.

    Verwenden Sie JAX-WS-Tools, um die erforderlichen JAX-WS- und JAXB-Artefakte zu generieren, die für JAX-WS-Web-Service-Anwendungen erforderlich sind, die aus JavaBeans- oder Enterprise-Bean-Komponenten entwickelt werden.

    Wenn Sie eine Serviceimplementierungs-Bean entwickeln die über den HTTP-Transport aufgerufen wird, ist die in diesem Schritt vom Befehlszeilentool wsgen generierte WSDL-Datei optional. Wenn Sie jedoch eine Serviceimplementierungs-Bean entwickeln die über den SOAP-over-JMS-Transport aufgerufen wird, ist die in diesem Schritt vom Befehlszeilentool wsgen generierte WSDL-Datei in den nachfolgenden Schritten erforderlich und nicht optional.

  4. (Optional) Aktivieren Sie MTOM für JAX-WS-Web-Services. Sie können SOAP Message Transmission Optimization Mechanism (MTOM) verwenden, um die Übertragung binärer Anhänge, wie z. B. Bildern oder Dateien, zusammen mit Web-Service-Anforderungen zu optimieren.
  5. (Optional) Setzen Sie die Einhaltung von WSDL-Bindungen in JAX-WS-Web-Services durch. Mit RespectBindingFeature können Sie steuern, ob eine JAX-WS-Implementierung erforderlich ist, damit der Inhalt des Elements "wsdl:binding", das einem Endpunkt zugeordnet ist, berücksichtigt wird.
  6. (Optional) Entwickeln und konfigurieren Sie einen Implementierungsdeskriptor webservices.xml für JAX-WS-Anwendungen. Sie können den Implementierungsdeskriptor webservices.xml optional verwenden, um Anwendungsmetadaten, die in Annotationen in Ihren JAX-WS-Web-Services angegeben sind, zu erweitern oder zu überschreiben.
  7. Vervollständigen Sie die Implementierung Ihrer Web-Service-Anwendung.
  8. (Optional) Passen Sie URL-Muster in der Datei "web.xml" an. Wenn JavaBeans als JAX-WS-Endpunkte bereitgestellt werden, können Sie optional die URL-Muster in dem in der WAR-Datei enthaltenen Implementierungsdeskriptor "web.xml" anpassen.
  9. Assemblieren Sie die Artefakte für Ihren Web-Service.

    Verwenden Sie die mit dem Anwendungsserver bereitgestellten Assembliertools, um Ihre Java-basierten Web-Service-Module zu assemblieren.

    Wenn Sie eine EAR-Datei assembliert haben, die Enterprise-Bean-Module enthält, die Web-Services enthalten, verwenden Sie vor der Implementierung das Befehlszeilentool endptEnabler oder ein Assembliertool, um eine WAR-Datei für den Web-Service-Endpunkt zu erzeugen. Mit diesem Tool kann auch festgelegt werden, ob die Web-Services über SOAP over Java Message Service (JMS) oder über SOAP over HTTP bereitgestellt werden.

  10. Implementieren Sie die EAR-Datei im Anwendungsserver. Sie können die EAR-Datei, die Sie für JAX-WS-Web-Services konfiguriert und aktiviert haben, jetzt im Anwendungsserver implementieren.
  11. Testen Sie den Web-Service, um sicherzustellen, dass er mit dem Anwendungsserver funktioniert.

Ergebnisse

Sie haben eine JAX-WS-Anwendung entwickelt.


Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_devwbsjaxws
Dateiname:twbs_devwbsjaxws.html