JAX-WS-Annotationen

Java™ API for XML-Based Web Services (JAX-WS) stützt sich auf die Verwendung von Annotationen, um Metadaten für Web-Service-Implementierungen anzugeben und die Entwicklung von Web-Services zu vereinfachen. Annotationen beschreiben, wie auf eine serverseitige Serviceimplementierung als Web-Service zugegriffen wird und wie eine clientseitige Java-Klasse auf Web-Services zugreift.

Der Programmierstandard JAX-WS unterstützt die Annotation von Java-Klassen mit Metadaten, die verwendet werden, um eine Serviceendpunktanwendung als Web-Service zu definieren und zu beschreiben, wie ein Client auf den Web-Service zugreifen kann. JAX-WS unterstützt die Verwendung von Annotationen, basierend auf der Spezifikation Metadata Facility for the Java Programming Language (Java Specification Request (JSR) 175), der Spezifikation Web Services Metadata for the Java Platform (JSR 181) und den von der Spezifikation JAX-WS 2.0 (JSR 224) definierten Annotationen, zu denen die JAXB-Annotationen gehören. Wenn Sie die Annotationen aus dem Standard JSR 181 verwenden, können Sie die Serviceimplementierungsklasse bzw. die Serviceschnittstelle einfach annotieren und damit die Anwendung als Web-Service aktivieren. Die Verwendung von Annotationen in der Java-Quelle vereinfacht die Entwicklung von Web-Services, indem einige zusätzliche Informationen definiert werden, die gewöhnlich aus den Implementierungsdeskriptordateien, WSDL-Dateien oder Zuordnungsmetadaten aus XML- und WSDL-Dateien in die Quellenartefakte abgerufen werden.

Verwenden Sie Annotationen, um Bindungen und Handlerketten und Gruppennamen für die Parameter "portType" und "Service" sowie für andere WSDL-Parameter festzulegen. Annotationen werden für die Zuordnung von Java zu WSDL und Schemata und darüber hinaus zur Laufzeit verwendet, um zu steuern, wie die JAX-WS-Laufzeit Web-Service-Aufrufe verarbeitet und beantwortet.

Für JAX-WS-Web-Services ist die Verwendung des Implementierungsdeskriptors webservices.xml optional, weil Sie Annotationen verwenden können, um alle Informationen anzugeben, die in der Implementierungsdeskriptordatei enthalten sind. Sie können die Implementierungsdeskriptordatei verwenden, um vorhandene JAX-WS-Annotationen zu erweitern oder zu überschreiben. Alle Informationen, die Sie im Implementierungsdeskriptor webservices.xml definieren, überschreiben die entsprechenden Informationen, die in Annotationen angegeben 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 Java-EE-Webanwendungsmodule vor Version 5 (Java Platform, Enterprise Edition) während der Installation standardmäßig auf JAX-WS-Services und Service-Clients überprüft. Java-EE-EJB-Module vor Version 5 werden ebenfalls auf Service-Clients überprüft. Da Module vor Java EE 5 in WebSphere Application Server Version 7.0 und höher während der Anwendungsinstallation bzw. des Serverstarts standardmäßig nicht nach Annotationen durchsucht werden, müssen Sie zur Gewährleistung der Abwärtskompatabilität mit dem Feature-Pack früherer Releases eine der folgenden Eigenschaften konfigurieren:
  • Sie können die Eigenschaft UseWSFEP61ScanPolicy in der Datei META-INF/MANIFEST.MF einer WAR-Datei oder eines EJB-Moduls auf true setzen. Beispiel:
    Manifest-Version: 1.0
    UseWSFEP61ScanPolicy: true
    Wenn diese Eigenschaft in der Datei META-INF/MANIFEST.MF des Moduls auf true gesetzt wird, wird das Modul auf JAX-WS-Anmerkungen durchsucht, unabhängig von der Java-EE-Version des Moduls. Der Standardwert ist false, und wenn er aktiv ist, werden JAX-WS-Annotationen nur in Modulen der Version Java EE 5 oder höher unterstützt.
  • Sie können die angepasste JVM-Eigenschaft (Java Virtual Machine) com.ibm.websphere.webservices.UseWSFEP61ScanPolicy mit der Administrationskonsole definieren. Informationen zum richtigen Navigationspfad finden Sie in der Dokumentation zu den angepassten JVM-Eigenschaften. Wenn die Annotationen unabhängig von der Java-EE-Version in allen Modulen durchsucht werden sollen, setzen Sie die angepasste Eigenschaft com.ibm.websphere.webservices.UseWSFEP61ScanPolicy auf true. Sie müssen die Einstellung auf jedem Server ändern, der eine Änderung im Standardverhalten erfordert.
Wenn die Eigenschaft in der Datei META-INF/MANIFEST.MF eines Moduls gesetzt wird, hat diese Einstellung Vorrang vor der angepassten JVM-Eigenschaft des Servers. Wenn Sie eine Eigenschaft verwenden, müssen Sie das gewünschte Prüfverhalten hinsichtlich der Annotationen definieren, bevor die Anwendung installiert ist. Sie können das Prüfverhalten nicht dynamisch ändern, wenn eine Anwendung installiert ist. Wenn Sie das Verhalten nach der Installation der Anwendung ändern müssen, müssen Sie die Anwendung zunächst deinstallieren, das gewünschte Verhalten mit der entsprechenden Eigenschaft angeben und die Anwendung dann erneut installieren. Werden Knoten eingebunden, deren Eigenschaft com.ibm.websphere.webservices.UseWSFEP61ScanPolicy in der Konfiguration der im Knoten enthaltenen Server auf true gesetzt ist, wirkt sich diese Eigenschaft nicht auf den Deployment Manager aus. Sie müssen die Eigenschaft im Deployment Manager auf true setzen, bevor der Knoten eingebunden wird, um das Verhalten, das vor der Einbindung auf dem Knoten bestand, beizubehalten.
[z/OS]
Fehler vermeiden Fehler vermeiden: Wenn diese JVM-Eigenschaft auf der z/OS-Plattform verwendet wird, muss sie in der Servant-Region und in der Steuerregion des Servers gesetzt werden. gotcha
Fehler vermeiden Fehler vermeiden: Werden Knoten eingebunden, deren Eigenschaft com.ibm.websphere.webservices.UseWSFEP61ScanPolicy in der Konfiguration der im Knoten enthaltenen Server auf true gesetzt ist, wirkt sich diese Eigenschaft nicht auf den Deployment Manager aus. Sie müssen die Eigenschaft im Deployment Manager auf true setzen, bevor der Knoten eingebunden wird, um das Verhalten, das vor der Einbindung auf dem Knoten bestand, beizubehalten. gotcha
Die von JAX-WS unterstützten Annotationen sind in der folgenden Tabelle aufgelistet. Das Ziel für Annotationen ist für die folgenden Java-Objekte anwendbar:
  • Typen, wie z. B. Java-Klasse, Aufzählung oder Schnittstelle
  • Methoden,
  • Felder, die lokale Instanzvariablen in einer Java-Klasse darstellen,
  • Parameter in einer Java-Methode.
Tabelle 1. Web Services Metadata Annotations (JSR 181). Beschreibt die unterstützten Metadatenannotationen für Web-Services und die ihnen zugeordneten Eigenschaften.
Annotationsklasse Annotation Eigenschaften
javax.jws. WebService Die Annotation @WebService kennzeichnet eine Java-Klasse, die einen Web-Service implementiert, bzw. eine Serviceendpunktschnittstelle, die eine Web-Service-Schnittstelle implementiert.
Wichtig:
  • Eine Java-Klasse, die einen Web-Service implementiert, muss die Annotation @WebService oder die Annotation @WebServiceProvider angeben. Es dürfen nicht beide Annotationen vorhanden sein. Diese Annotation kann für eine Serviceendpunktschnittstelle eines Clients oder Servers bzw. als Implementierungsklasse eines Serverendpunkts verwendet werden.
  • Wenn die Annotation über das Attribut endpointInterface auf eine Serviceendpunktschnittstelle verweist, muss die Serviceendpunktschnittstelle auch mit der Annotation @WebService annotiert sein.
  • Lesen Sie die Beschreibung der verfügbaren Methoden in den Informationen zu den SEI-basierten JAX-WS-Web-Services, um sich mit den bewährten Verfahren zur Verwendung der Annotationen @WebService und @WebMethod in einer Serviceendpunktimplementierung vertraut zu machen und Java-Methoden zu definieren, die Sie als JAX-WS-Web-Services verfügbar machen möchten.
  • Annotationsziel: Typ
  • Eigenschaften:
    - name
    Der Name des Elements wsdl:portType. Der Standardwert ist der nicht qualifizierte Name der Java-Klasse bzw. -Schnittstelle. (String)
    - targetNamespace
    Gibt den XML-Namespace der WSDL- und XML-Elemente an, die aus dem Web-Service generiert werden. Der Standardwert ist der Namespace, der über den Namen des Pakets, das den Web-Service enthält, zugeordnet wird. (String)
    - serviceName
    Gibt den Servicenamen des Web-Service an: wsdl:service. Der Standardwert ist der einfache Name der Java-Klasse + Service. (String)
    - endpointInterface
    Gibt den qualifizierten Namen der Serviceendpunktschnittstelle an, die den abstrakten Web-Service-Vertrag für die Services definiert. Wenn Sie diese Eigenschaft angeben, wird die Serviceendpunktschnittstelle verwendet, um den abstrakten WSDL-Vertrag zu bestimmen. (String)
    - portName
    Das Element wsdl:portName. Der Standardwert ist "WebService.name+Port . (String)
    - wsdlLocation
    Gibt die Webadresse des WSDL-Dokuments an, das den Web-Service definiert. Die Webadresse kann relativ oder absolut angegeben werden. (String)
javax.jws. WebMethod Die Annotation @WebMethod bezeichnet eine Methode in einer Web-Service-Operation.

Wenden Sie diese Annotation auf Methoden in der Serviceendpunktschnittstelle eines Clients oder Servers bzw. der Implementierungsklasse eines Serverendpunkts an.

  • Annotationsziel: Methode
  • Eigenschaften:
    - operationName
    Gibt den Namen des Elements wsdl:operation an, das dieser Methode entspricht. Der Standardwert ist der Name der Java-Methode. (String)
    - action
    Definiert die Aktion für diese Operation. Für SOAP-Bindungen bestimmt dieser Wert den Wert des Headers "SOAPAction" und er muss explizit festgelegt werden.
    - exclude
    Gibt an, ob eine Methode aus dem Web-Service ausgeschlossen werden soll. Der Standardwert ist false. (Boolean)
javax.jws. Oneway Die Annotation @Oneway bezeichnet eine Methode als unidirektionale Operation eines Web-Service, die nur eine Eingabenachricht, aber keine Ausgabenachricht hat.

Wenden Sie diese Annotation auf Methoden in der Serviceendpunktschnittstelle eines Clients oder Servers bzw. der Implementierungsklasse eines Serverendpunkts an.

  • Annotationsziel: Methode
  • Die Annotation "Oneway" hat keine Eigenschaften.
javax.jws. WebParam Die Annotation @WebParam passt die Zuordnung eines einzelnen Parameters zu einem Web-Service-Nachrichtenabschnitt und einem XML-Element an.

Wenden Sie diese Annotation auf Methoden in der Serviceendpunktschnittstelle eines Clients oder Servers bzw. der Implementierungsklasse eines Serverendpunkts an.

  • Annotationsziel: Parameter
  • Eigenschaften:
    - name
    Der Name des Parameters. Wenn die Operation den Stil "RPC" (Remote Procedure Call, Fernprozeduraufruf) hat und das Attribut partName nicht angegeben ist, ist dies der Name des Attributs wsdl:part, das den Parameter darstellt. Wenn die Operation den Stil "DOCUMENT" hat oder der Parameter einem Header zugeordnet ist, gibt -name den lokalen Namen des XML-Elements an, das den Parameter darstellt. Dieses Attribut ist erforderlich, wenn die Operation den Stil "DOCUMENT", der Parameter den Stil BARE hat und der Modus OUT oder INOUT eingestellt ist. (String)
    - partName
    Definiert den Namen des Attributs wsdl:part, das diesen Parameter darstellt. Diese Eigenschaft wird nur verwendet, wenn die Operation den Stil "RPC" hat oder wenn sie den Stil "DOCUMENT" und der Parameter den Stil BARE hat. (String)
    - targetNamespace
    Gibt den XML-Namespace des XML-Elements für den Parameter an. Diese Eigenschaft gilt nur dann für Dokumentbindungen, wenn das Attribut einem XML-Element zugeordnet ist. Der Standardwert ist das Attribut targetNamespace für den Web-Service. (String)
    - mode
    Dieser Wert stellt die Richtung des Parameters für die Methode an. Die gültigen Werte sind IN, INOUT und OUT. (String)
    - header
    Gibt an, ob sich der Parameter in einem Nachrichtenheader anstatt in einem Nachrichtenhauptteil befindet. Der Standardwert ist false. (Boolean)
javax.jws. WebResult Die Annotation @WebResult passt die Zuordnung eines Rückgabewerts zu einem WSDL-Abschnitt oder einem XML-Element an.

Wenden Sie diese Annotation auf Methoden in der Serviceendpunktschnittstelle eines Clients oder Servers bzw. der Implementierungsklasse eines Serverendpunkts an.

  • Annotationsziel: Methode
  • Eigenschaften:
    - name
    Gibt den Namen des Rückgabewert so an, wie er in der WSDL-Datei aufgelistet ist und in Nachrichten in der Verbindung gefunden wird. Für RPC-Bindungen ist dies der Name des Attributs wsdl:part, das den Rückgabewert darstellt. Für Dokumentbindungen, gibt der Parameter -name den lokalen Namen des XML-Elements an, das den Rückgabewert darstellt. Der Standardwert ist return für Bindungen des Typs "RPC" und "DOCUMENT/WRAPPED". Für Bindungen des Typs "DOCUMENT/BARE" ist der Standardwert der Methodenname + Response. (String)
    - targetNamespace
    Gibt den XML-Namespace für den Rückgabewert an. Dieser Parameter wird nur verwendet, wenn die Operation den Stil "RPC" hat oder wenn die Operation den Stil "DOCUMENT" und der Parameter den Stil "BARE" hat. (String)
    - header
    Gibt an, ob das Ergebnis in einem Header übertragen wird. Der Standardwert ist false. (Boolean)
    - partName
    Gibt den Abschnittsnamen für das Ergebnis bei Operationen des Typs "RPC" oder "DOCUMENT/BARE" an. Der Standardwert ist @WebResult.name. (String)
javax.jws. HandlerChain Die Annotation @HandlerChain ordnet den Web-Service einer extern definierten Handlerkette zu.

Sie können den serverseitigen Handler nur mit der Annotation @HandlerChain in der Serviceendpunktschnittstelle oder in der Implementierungsklasse des Serverendpunkts konfigurieren.

Verwenden Sie eine der diversen Methoden, um einen clientseitigen Handler zu konfigurieren. Sie können einen clientseitigen Handler mit der Annotation @HandlerChain in der generierten Serviceklasse bzw. in der Serviceendpunktschnittstelle konfigurieren. Außerdem können Sie die eigene Implementierung der Schnittstelle "HandlerResolver" über das Programm im Service registrieren oder die Handlerkette über das Programm im Binding-Objekt festlegen.

  • Annotationsziel: Typ
  • Eigenschaften:
    - file
    Gibt die Position der Datei mit der Handlerkette an. Die Dateiposition ist entweder ein absoluter URL vom Typ "java.net.URL" in externem Format oder ein relativer Pfad der Klassendatei. (String)
    - name
    Gibt den Namen der Handlerkette in der Konfigurationsdatei an. (String)
javax.jws. SOAPBinding Die Annotation @SOAPBinding gibt die Zuordnung des Web-Service zum SOAP-Nachrichtenprotokoll an.

Wenden Sie diese Annotation auf Methoden in der Serviceendpunktschnittstelle eines Clients oder Servers bzw. der Implementierungsklasse eines Serverendpunkts an.

Die Annotation auf Methodenebene ist in Bezug darauf, was angegeben werden kann, beschränkt und wird nur verwendet, wenn die Eigenschaft style den Wert DOCUMENT hat. Wenn keine Annotation auf Methodenebene angegeben ist, wird das @SOAPBinding-Verhalten aus dem Typ verwendet.

  • Annotationsziel: Typ oder Methode
  • Eigenschaften:
    - style
    Definiert den Codierungsstil für Nachrichten, die ein Web-Service sendet bzw. die an einen Web-Service gesendet werden. Die gültigen Werte sind DOCUMENT und RPC. Der Standardwert ist DOCUMENT. (String)
    - use
    Definiert die Formatierung für Nachrichten, die ein Web-Service sendet bzw. die an einen Web-Service gesendet werden. Der Standardwert ist LITERAL. Der Wert ENCODED wird nicht unterstützt. (String)
    - parameterStyle
    Bestimmt, ob die Parameter der Methode den gesamten Nachrichtenhauptteil darstellen oder ob Parameter Elemente sind, die in ein übergeordnetes Element eingeschlossen sind, das nach der Operation benannt ist. Die gültigen Werte sind WRAPPED und BARE. Für Bindungen mit dem Stil DOCUMENT kann nur der Wert BARE verwendet werden. Der Standardwert ist WRAPPED. (String)

Tabelle 2. JAX-WS Annotations (JSR 224). Beschreibt die unterstützten JAX-WS-Annotationen und deren zugeordnete Eigenschaften.
Annotationsklasse Annotation Eigenschaften
javax.xml.ws. Action Die Annotation @Action gibt die WS-Addressing-Aktion an, die einer Web-Service-Operation zugeordnet ist.

Wenn Sie diese Annotation mit einer bestimmten Methode verwenden und das entsprechende WSDL-Dokument generieren, wird das Erweiterungsattribut "WS-Addressing Action" zu den Ein- und Ausgabeelementen der WSDL-Operation, die dieser Methode entspricht, hinzugefügt.

Um dieses Attribut zur WSDL-Operation hinzuzufügen, müssen Sie auch die Annotation @Addressing in der Implementierungsklasse des Serverendpunkts angeben. Wenn Sie die Annotation @Addressing nicht verwenden möchten, können Sie Ihr eigenes WSDL-Dokument mit dem bereits definierten Attribut "Action" bereitstellen.

  • Annotationsziel: Methode
  • Eigenschaften:
    - fault
    Gibt den Bereich von FaultAction für das Element wsdl:fault der Operation an. (String)
    - input
    Gibt die Aktion für das Element wsdl:input der Operation an. (String)
    - output
    Gibt die Aktion für das Element wsdl:output der Operation an. (String)
javax.xml.ws. BindingType Die Annotation @BindingType gibt die Bindung an, die beim Veröffentlichen eines Endpunkts dieses Typs verwendet werden soll.

Wenden Sie diese Annotation auf die Implementierungsklasse eines Serverendpunkts an.

Wichtig: Sie können die Annotation @BindingType in der Implementierungsklasse des JavaBeans-Endpunkts verwenden, um MTOM durch Angabe von javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_MTOM_BINDING oder javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_MTOM_BINDING als Wert für die Annotation anzugeben.
  • Annotationsziel: Typ
  • Eigenschaften:
    - value
    Gibt die Webadresse der Bindungskennung an. Gültige Werte sind: javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_BINDING, javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING und javax.xml.ws.http.HTTPBinding.HTTP2HTTP_BINDING. Der Standardwert ist javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_BINDING. (String)
javax.xml.ws. FaultAction Die Annotation @FaultAction gibt die WS-Addressing-Aktion an, die einer Standardantwort zugeordnet ist.

Diese Annotation muss in einer Annotation @Action enthalten sein.

Wenn Sie diese Annotation mit einer bestimmten Methode verwenden, wird das Erweiterungsattribut "WS-Addressing FaultAction" zum Standardelement der WSDL-Operation, die dieser Methode entspricht, hinzugefügt.

Um dieses Attribut zur WSDL-Operation hinzuzufügen, müssen Sie auch die Annotation @Addressing in der Implementierungsklasse des Serverendpunkts angeben. Wenn Sie die Annotation @Addressing nicht verwenden möchten, können Sie Ihr eigenes WSDL-Dokument mit dem bereits definierten Attribut "Action" bereitstellen.

  • Annotationsziel: Methode
  • Eigenschaften:
    - value
    Gibt die Aktion für das Element wsdl:fault der Operation an. (String)
    - output
    Gibt den Namen der Ausnahmeklasse an. (String)
    - className
    Gibt den Namen der Klasse an, die den Anforderungswrapper darstellt. (String)
javax.xml.ws. RequestWrapper Die Annotation @RequestWrapper gibt die Wrapper-Bean für die von JAXB generierten Anforderungen, den Elementnamen und den Namespace für die Serialisierung und Entserialisierung mit der Anforderungs-Wrapper-Bean an, die zur Laufzeit verwendet werden.

Wenn Sie mit einem Java-Objekt beginnen, wird dieses Element verwendet, um im Modus "document/literal" auftretende Konflikte zu lösen. In diesem Fall ist nur das Attribut className erforderlich.

Wenden Sie diese Annotation auf Methoden in der Serviceendpunktschnittstelle eines Clients oder Servers bzw. der Implementierungsklasse eines Serverendpunkts an.

  • Annotationsziel: Methode
  • Eigenschaften:
    - localName
    Gibt den lokalen Namen des XML-Schemaelements an, das den Anforderungswrapper darstellt. Der Standardwert ist das Attribut operationName, das in der Annotation "javax.jws.WebMethod" definiert ist. (String)
    - targetNamespace
    Gibt den XML-Namespace der Anforderungs-Wrapper-Methode an. Der Standardwert ist der Zielnamespace der Serviceendpunktschnittstelle. (String)
    - className
    Gibt den Namen der Klasse an, die den Anforderungswrapper darstellt. (String)
    - partName
    Der Name des Attributs wsdl:part, das das XML-Schemaelement für die RequestWrapper-Klasse darstellt. Diese Eigenschaft ist nur für JAX-WS 2.2 und höher gültig. (String)
javax.xml.ws. ResponseWrapper Die Annotation @ResponseWrapper gibt die Wrapper-Bean für die von JAXB generierten Antworten, den Elementnamen und den Namespace für die Serialisierung und Entserialisierung mit der Antwort-Wrapper-Bean an, die zur Laufzeit verwendet werden.

Wenn Sie mit einem Java-Objekt beginnen, wird dieses Element verwendet, um im Modus "document/literal" auftretende Konflikte zu lösen. In diesem Fall ist nur das Attribut className erforderlich.

Wenden Sie diese Annotation auf Methoden in der Serviceendpunktschnittstelle eines Clients oder Servers bzw. der Implementierungsklasse eines Serverendpunkts an.

  • Annotationsziel: Methode
  • Eigenschaften:
    - localName
    Gibt den lokalen Namen des XML-Schemaelements an, das den Anforderungswrapper darstellt. Der Standardwert ist operationName + Response. Das Attribut operationName ist in der Annotation "javax.jws.WebMethod" definiert. (String)
    - targetNamespace
    Gibt den XML-Namespace der Anforderungs-Wrapper-Methode an. Der Standardwert ist der Zielnamespace der Serviceendpunktschnittstelle. (String)
    - className
    Gibt den Namen der Klasse an, die den Antwort-Wrapper darstellt. (String)
    - partName
    Der Name des Attributs wsdl:part, das das XML-Schemaelement für die ResponseWrapper-Klasse darstellt. Diese Eigenschaft ist nur für JAX-WS 2.2 und höher gültig. (String)
javax.xml.ws. RespectBinding Die Annotation @RespectBinding gibt an, ob die JAX-WS-Implementierung den Inhalt des Elements wsdl:binding für einen Endpunkt verwenden muss.

Wenn diese Annotation angegeben wird, wird eine Prüfung durchgeführt, um sicherzustellen, dass alle erforderlichen WSDL-Erweiterungselemente mit dem aktivierten Attribut (Einstellung true) unterstützt werden.

Wenden Sie diese Annotation auf Methoden in der Implementierungsklasse eines Serverendpunkts an.

  • Annotationsziel: Methode
  • Eigenschaften:
    - enabled
    Gibt an, ob das Element wsdl:binding verwendet werden muss. Der Standardwert ist true. (Boolean)
javax.xml.ws. ServiceMode Die Annotation @ServiceMode gibt an, ob ein Service-Provider Zugriff auf eine vollständige Protokollnachricht oder nur auf die Nutzdaten der Nachricht haben muss.
Wichtig: Die Annotation @ServiceMode wird nur für Klassen unterstützt, die mit der Annotation @WebServiceProvider annotiert sind.
  • Annotationsziel: Typ
  • Eigenschaften:
    - value
    Gibt an, ob die Providerklasse die Nutzdaten der Nachricht (PAYLOAD) oder die vollständige Nachricht (MESSAGE) akzeptiert. Der Standardwert ist PAYLOAD. (String)
javax.xml.ws. soap.Addressing Die Annotation @Addressing gibt an, dass dieser Service die WS-Addressing-Unterstützung aktivieren soll.

Wenden Sie diese Annotation auf Methoden in der Implementierungsklasse eines Serverendpunkts an.

  • Annotationsziel: Typ
  • Eigenschaften:
    - enabled
    Gibt an, ob WS-Addressing aktiviert ist oder nicht. Der Standardwert ist true. (Boolean)
    - required
    Gibt an, das WS-Addressing-Header in eingehenden Nachrichten enthalten sein müssen. Der Standardwert ist false. (Boolean)
    - responses
    Gibt das zu verwendende Muster für den Nachrichtenaustausch an. Der Standardwert ist Responses.ALL. Diese Eigenschaft ist nur für JAX-WS 2.2 und höher gültig. (String)
javax.xml.ws. soap.MTOM Die Anntotation @MTOM gibt an, ob binärer Inhalt im Hauptteil einer SOAP-Nachricht mit MTOM gesendet werden soll.

Wenden Sie diese Annotation auf die Implementierungsklasse eines Serverendpunkts an.

  • Annotationsziel: Klasse
  • Eigenschaften:
    - enabled
    Gibt an, ob MTOM für den JAX-WS-Endpunkt aktiviert ist. Der Standardwert ist true. (Boolean)
    - threshold
    Gibt die Mindestgröße für Nachrichten an, die mit MTOM gesendet werden. Wenn die Nachrichtengröße unter der angegebenen Ganzzahl liegt, wird die Nachricht im XML-Dokument in Form von base64- oder hexBinary-Daten übertragen. (Integer)
javax.xml.ws. WebFault Die Annotation @WebFault ordnet WSDL-Fehler Java-Ausnahmen zu. Sie wird verwendet, um den Namen des Fehlers während der Serialisierung des JAXB-Typs zu erfassen, der aus einem globalen Element generiert wird, auf den eine WSDL-Fehlernachricht verweist. Sie kann auch verwendet werden, um die Zuordnung servicespezifischer Ausnahmen zu WSDL-Fehlern anzupassen.

Diese Annotation kann nur auf eine Fehlerimplementierungsklasse im Client oder Server angewendet werden.

  • Annotationsziel: Typ
  • Eigenschaften:
    - name
    Gibt den lokalen Namen des XML-Elements an, das den entsprechenden Fehler in der WSDL-Datei darstellt. Es muss der tatsächliche Wert angegeben werden. (String)
    - targetNamespace
    Gibt den Namespace des XML-Elements an, das den entsprechenden Fehler in der WSDL-Datei darstellt. (String)
    - faultBean
    Gibt den Namen der Bean-Klasse für Fehler an. (String)
    - messageName
    Gibt den Namen des Attributs wsdl:message an, das den entsprechenden Fehler in der WSDL-Datei darstellt. Diese Eigenschaft ist nur für JAX-WS 2.2 und höher gültig. (String)
javax.xml.ws. WebServiceProvider Die Annotation @WebServiceProvider gibt an, dass eine Klasse die Anforderungen für die Implementierungsklasse eines JAX-WS-Providers erfüllt.
Wichtig:
  • Eine Java-Klasse, die einen Web-Service implementiert, muss die Annotation @WebService oder die Annotation @WebServiceProvider angeben. Es dürfen nicht beide Annotationen vorhanden sein.
  • Die Annotation @WebServiceProvider wird nur in der Serviceimplementierungsklasse unterstützt.
Jede Klasse mit der Annotation @WebServiceProvider muss die Schnittstelle javax.xml.ws.Provider implementieren.
  • Annotationsziel: Typ
  • Eigenschaften:
    - targetNamespace
    Gibt den XML-Namespace der WSDL- und XML-Elemente an, die aus dem Web-Service generiert werden. Der Standardwert ist der Namespace, der über den Namen des Pakets, das den Web-Service enthält, zugeordnet wird. (String)
    - serviceName
    Gibt den Servicenamen des Web-Service an: wsdl:service. Der Standardwert ist der einfache Name der Java-Klasse + Service. (String)
    - portName
    Das Element wsdl:portName. Der Standardwert ist der Name der Klasse + Port. (String)
    - wsdlLocation
    Gibt die Webadresse des WSDL-Dokuments an, das den Web-Service definiert. Dieses Attribut ist erforderlich. (String)
javax.xml.ws. WebServiceRef Die Annotation @WebServiceRef definiert eine Referenz auf einen Web-Service, der vom Client aufgerufen wird.
Anmerkung:
  • Die Annotation @WebServiceRef kann verwendet werden, um eine Injektion von Instanzen von JAX-WS-Services und -Ports durchzuführen.
  • Die Annotation @WebServiceRef wird nur in bestimmten Klassentypen unterstützt. Beispiele sind Implementierungsklassen von JAX-WS-Endpunkten, JAX-WS-Handlerklassen, Enterprise-JavaBeans-Klassen und Servletklassen. Diese Annotation wird in denselben Klassentypen unterstützt wie die Annotation @Resource. Eine vollständige Liste der unterstützten Klassentypen finden Sie in der Spezifikation Java Platform, Enterprise Edition (Java EE) 5.
  • Annotationsziel: Typ, Feld oder Methode
  • Eigenschaften:
    - name
    Gibt den JNDI-Namen der Ressource an. Der Feldname ist der Standardwert für Feldannotationen. Der Name der JavaBeans-Eigenschaft, die der Methode entspricht, ist der Standardwert für Methodenannotationen. Sie müssen einen Wert für Klassenannotationen angeben, da es keinen Standardwert gibt. (String)
    - type
    Zeigt den Java-Typ der Ressource an. Der Feldtyp ist der Standardwert für Feldannotationen. Der Typ der JavaBeans-Eigenschaft ist der Standardwert für Methodenannotationen. Sie müssen einen Wert für Klassenannotationen angeben, da es keinen Standardwert gibt. (Klasse)
    - mappedName
    Gibt den Namen an, der dieser Ressource zugeordnet werden soll. (String)
    - value
    Zeigt den Wert der Serviceklasse an und erweitert javax.xml.ws.Service. Dieses Attribut ist erforderlich, wenn der Typ der Referenz eine Serviceendpunktschnittstelle darstellt. (Klasse)
    - wsdlLocation
    Gibt die Webadresse des WSDL-Dokuments an, das den Web-Service definiert. Dieses Attribut ist erforderlich. (String)
    -lookup
    Gibt den JNDI-Lookup-Namen für den Ziel-Web-Service an. Diese Eigenschaft ist nur für JAX-WS 2.2 und höher gültig. (String)
javax.xml.ws. WebServiceRefs Die Annotation @WebServiceRefs ordnet mehrere @WebServiceRef-Annotationen einer bestimmten Klasse zu.
Anmerkung: Die Annotation @WebServiceRef wird nur in bestimmten Klassentypen unterstützt. Beispiele sind Implementierungsklassen von JAX-WS-Endpunkten, JAX-WS-Handlerklassen, Enterprise-JavaBeans-Klassen und Servletklassen. Diese Annotation wird in denselben Klassentypen unterstützt wie die Annotation @Resource. Eine vollständige Liste der unterstützten Klassentypen finden Sie in der Spezifikation Java Platform, Enterprise Edition (Java EE) 5.
  • Annotationsziel: Typ
  • Eigenschaften:
    - value
    Gibt einen Bereich für mehrere Web-Service-Referenzdeklarationen an. Dieses Attribut ist erforderlich.
Tabelle 3. JAX-WS Common Annotations (JSR 250). Beschreibt die unterstützten allgemeinen JAX-WS-Annotationen und deren zugeordnete Eigenschaften.
Annotationsklasse Annotation Eigenschaften
javax.annotation. Resource Die Annotation @Resource kennzeichnet eine von der Anwendung benötigte WebServiceContext-Ressource.
Anmerkung:

Wenn Sie diese Annotation auf ein Feld des Typs WebServiceContext in der Implementierungsklasse eines Serverendpunkts für einen JavaBeans-Endpunkt oder einen Providerendpunkt anwenden, führt der Container eine Injektion von Instanzen von WebServiceContext im angegebenen Feld durch.

Wenn diese Annotation an Stelle der Annotation @WebServiceRef verwendet wird, gelten die für die Annotation @WebServiceRef angegebenen Regeln.

  • Annotationsziel: Feld oder Methode
  • Eigenschaften:
    - type
    Zeigt den Java-Typ der Ressource an. Sie müssen den Standardwert java.lang.Object bzw. javax.xml.ws.Web ServiceContext verwenden. Wenn Sie den Standardwert verwenden, muss die Ressource in ein Feld oder eine Methode eingeführt werden. In diesem Fall muss der Feldtyp bzw. der Typ der JavaBeans-Eigenschaft, der von der Methode definiert wird, javax.xml.ws.WebServiceContext lauten. (Klasse)
    Wenn Sie diese Annotation verwenden, um die Injektion eines Web-Service durchzuführen, lesen Sie die Beschreibung des Attributs type von @WebServiceRef.
javax.annotation. Resources Die Annotation @Resources ordnet mehrere @Resource-Annotationen einer bestimmten Klasse zu und fungiert als Container für mehrere Ressourcendeklarationen.
  • Annotationsziel: Feld oder Methode
  • Eigenschaften:
    - value
    Gibt einen Bereich für mehrere @Resource-Annotationen an. Dieses Attribut ist erforderlich.
javax.annotation. PostConstruct Die Annotation @PostConstruct kennzeichnet eine Methode, die nach einer Abhängigkeitsinjektion für die Klasse ausgeführt werden muss.

Wenden Sie diese Annotation auf einen JAX-WS-Anwendungshandler oder die Implementierungsklasse eines Serverendpunkts an.

  • Annotationsziel: Methode
javax.annotation. PreDestroy Die Annotation @PreDestroy kennzeichnet eine Methode, die ausgeführt werden muss, wenn die Instanz gerade aus dem Container entfernt wird.

Wenden Sie diese Annotation auf einen JAX-WS-Anwendungshandler oder die Implementierungsklasse eines Serverendpunkts an.

  • Annotationsziel: Methode
Tabelle 4. IBM proprietäre Annotationen. Beschreibt die unterstützten IBM® proprietären Annotationen und die zugehörigen Eigenschaften.
Annotationsklasse Annotation Eigenschaften
com.ibm.websphere. wsaddressing. jaxws21. SubmissionAddressing Die Annotation @SubmissionAddressing gibt an, dass dieser Service die WS-Addressing-Unterstützung für die Spezifikation 2004/08 WS-Addressing aktivieren soll.

Diese Annotation ist Teil der IBM Implementierung der Spezifikation JAX-WS 2.1.

Wenden Sie diese Annotation auf Methoden in der Implementierungsklasse eines Serverendpunkts an.

  • Annotationsziel: Typ
  • Eigenschaften:
    - enabled
    Gibt an, ob WS-Addressing aktiviert ist oder nicht. Der Standardwert ist true. (Boolean)
    - required
    Gibt an, das WS-Addressing-Header in eingehenden Nachrichten enthalten sein müssen. Der Standardwert ist false. (Boolean)

Symbol, das den Typ des Artikels anzeigt. Referenzartikel



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