JAX-WS-Anwendungspaket
Sie können eine JAX-WS-Anwendung (Java™ Application Programming Interface (API) for XML Web Services) als Web-Service packen. Ein JAX-WS-Web-Service ist in einer WAR-Datei (Web Archive) oder einem WAR-Modul in einer EAR-Datei (Enterprise Archive) enthalten.
- eine Datei WEB-INF/web.xml,
- annotierte Klassen, die die im Anwendungsmodul enthaltenen Web-Services implementieren,
- [optional] WSDL-Dokumente (Web Services Description Language), die die im Anwendungsmodul enthaltenen Web-Services beschreiben.
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" xmlns=”http://java.sun.com/xml/ns/j2ee”
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
</web-app>
Die Datei web.xml kann "servlet"- oder "servlet-mapping"-Elemente enthalten. Wenn Sie keine Anpassungen an der Datei web.xml vornehmen müssen, definiert die Laufzeitumgebung von WebSphere Application Server sie dynamisch, wenn das Modul geladen wird. Weitere Informationen zum Konfigurieren der Datei web.xml finden Sie in der Dokumentation zum Anpassen der Web-URL-Muster in der Datei web.xml für JAX-WS-Anwendungen.
Annotierte Klassen müssen mindestens eine Web-Service-Implementierungsklasse enthalten, die die Annotation @WebService enthält. Die Definition und Angabe der Anmerkungen zu Web-Services erfolgt durch die Spezifikationen JAX-WS und JSR-181. Die Web-Service-Implementierungsklassen können im Verzeichnis WEB-INF/classes oder in einem Verzeichnis in einer JAR-Datei im Verzeichnis WEB-INF/lib der WAR-Datei enthalten sein.
Optional können Sie WSDL-Dokumente in das JAX-WS-Anwendungspaket aufnehmen. Wenn das WSDL-Dokument für einen bestimmten Web-Service weggelassen wird, erstellt die Laufzeitumgebung von WebSphere Application Server die WSDL-Definition dynamisch aus den Annotationen, die in den Web-Service-Implementierungsklassen enthalten sind.
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.


Wenn die Serviceendpunktschnittstelle und die Implementierungsklassen nicht mit der Anwendung/dem Modul gepackt werden können, wird empfohlen, die JAR-Dateien, die diese Klassen enthalten, in einer isolierten freigegebenen Bibliothek zu packen und diese freigegebene Bibliothek der Anwendung/dem Modul zuzuordnen.
gotcha