Mit Java™ API for XML-Based Web-Services (JAX-WS) können Sie Annotationen in Ihrem Java-Code verwenden, um die Erstellung von Web-Services zu vereinfachen.
Der Programmierstandard Java API for XML-Based Web Services (JAX-WS) stützt sich auf die Verwendung von Annotationen, mit denen Metadaten für Web-Service-Implementierungen angegeben werden können. Außerdem stützt sich der Standard auf Annotationen, um die Entwicklung von Web-Services zu vereinfachen. Annotationen beschreiben zwei Aspekte von Web-Services: den Zugriff auf eine serverseitige Serviceimplementierung als Web-Service und den Zugriff einer clientseitigen Java-Klasse auf Web-Services.
Sie können Annotationen verwenden, um Bindungen und Handlerketten zu konfigurieren und um Namen für die Parameter "portType" und "service" sowie weitere WSDL-Parameter zu definieren. Zur Buildzeit können Annotationen verwendet werden, um Java der WSDL und dem Schema zuzuordnen, und zur Laufzeit können Annotationen verwendet werden, um zu steuern, wie die JAX-WS-Laufzeitumgebung Web-Service-Aufrufe verarbeitet und auf diese antwortet.
Das Produkt verwendet Annotationen in Clients, die Sie mit dem Web-Service-Client-Assistenten erstellen. Der Assistent generiert einen Client-Proxy und eine statische Serviceklasse mit Annotationen. Diese Annotationen geben an, wie der Client auf den Web-Service zugreift.
Ausführliche Informationen zu den Annotationen, die Sie verwenden können, finden Sie in den zugehörigen Referenzinformationen.
Die folgenden Web-Service-Szenarien werden von den Tools und den WebSphere-Laufzeitumgebungen unterstützt:
Szenario | Laufzeitumgebung | Kommentare |
---|---|---|
Bottom-up-Java-Bean | WebSphere Application Server Version 7.0 und höher | Bottom-up-Java-Beans können allein mit Annotationen oder in Kombination mit den Web-Service-Assistenten erstellt werden. Wenn die Bean bereits eine Annotation "@javax.jws.WebService" hat, sind viele Felder im Assistenten inaktiviert, weil der Assistent keine Stellvertreterbean erstellen 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. |
Bottom-up-EJB der Version 2.x | Ohne | Durch Annotationen nicht unterstützt |
Bottom-up-EJB der Version 3.0 | WebSphere Application Server Version 7.0 und höher | Die Kombination von Annotationen und Web-Service-Assistent ist nicht möglich. Sie müssen Annotationen verwenden und die EJB-Bean im Anwendungsserver implementieren. |
Meet-in-the-Middle-Java-Bean | WebSphere Application Server Version 7.0 und höher | In diesem Szenario können Sie eine als Web-Service annotierte
Java-Bean mit dem Attribut "wsdlLocation" einem WSDL-Dokument zuordnen. Hinweis zur Verwendung von
SOAP 1.2:
Wenn Sie SOAP 1.2. verwenden möchten,
müssen Sie das Attribut "wsdlLocation" der Annotation "@WebService" wie im folgenden Beispiel gezeigt verwenden:
Die von
WebSphere Application Server dynamisch generierte WSDL-Datei kann nicht verwendet werden. Die WSDL-Datei muss vorher erstellt worden sein.
Alternativ können Sie die Web-Service-Assistenten verwenden, die eine
WSDL-Datei generieren, wenn Sie die Option für die Verwendung von
SOAP 1.2 bei der Generierung eines Web-Service aus einer Java-Bean auswählen. Weitere Informationen finden Sie unter Web-Service aus einer Java-Bean und einer WSDL-Datei erstellen. |
Meet-in-the-Middle-EJB der Version 3.0 | WebSphere Application Server Version 7.0 und höher | In diesem Szenario können Sie eine als Web-Service annotierte
EJB-Bean mit dem Attribut "wsdlLocation" einem WSDL-Dokument zuordnen.
Weitere Informationen finden Sie unter Web-Service aus einer EJB-Bean und einer WSDL-Datei erstellen. |
@WebService
public class QuoteBean implements StockQuote {
public float getQuote(String sym) { ... }
}
Die Annotation @WebService weist die Serverlaufzeitumgebung an, alle öffentlichen Methoden in dieser Bean als ein Web-Service bereitzustellen. Sie können weitere Granularitätsebenen steuern, indem Sie weitere Annotationen in einzelnen Methoden oder Parametern hinzufügen. Mit Annotationen können Java-Artefakte viel einfacher als Web-Services zugänglich gemacht werden. Wenn Artefakte mithilfe verschiedener Top-down-Zuordnungstools aus einer WSDL-Datei erstellt werden, werden Annotationen in die Quelle und die Java-Klassen eingefügt, um die Metadaten zusammen mit den Quellendateien zu erfassen.