Jakarta XML Web Services
Basisdaten

Entwickler Eclipse Foundation
Aktuelle Version 4.0.3[1]
(23. Februar 2026)
Betriebssystem Cross-platform
Programmier­sprache Java
Kategorie Application framework
Lizenz Eclipse Public License 2.0, GPL linking exception
projects.eclipse.org/projects/ee4j.jaxws

Die Jakarta XML Web Services (JAX-WS; früher Java API for XML Web Services) ist eine Jakarta EE-API zum Erstellen von Webservices. JAX-WS wurde in der Java Platform Enterprise Edition 5 eingeführt und ist ab der Version 1.6 auch Teil der Jakarta EE.[2]

JAX-WS baut auf JAX-RPC auf, ist Teil von Web Services Interoperability Technology und somit auch Teil des Project Metro. Wie andere Jakarta-EE-APIs benutzt auch JAX-WS Annotationen, um die Entwicklung und das Deployment von Webservice-Clients und Service-Endpunkten zu vereinfachen.

Funktionsweise von JAX-WS

Bearbeiten

Client und Endpunkt kommunizieren über SOAP-Nachrichten. JAX-WS benutzt SAAJ, um SOAP-Nachrichten zu erzeugen. JAX-WS ist protokoll- und transportunabhängig. Standardmäßig wird allerdings SOAP 1.1 und HTTP verwendet.

Um die Daten richtig verarbeiten zu können, müssen die XML-Datentypen in Java-konforme Datentypen umgewandelt werden. Das wird von JAX-WS an JAXB (Jakarta XML Binding) delegiert. So kann die XML-Verarbeitung im Wesentlichen dem Programmierer verborgen bleiben.

Erstellen von Webservice-Endpunkten und -Clients

Bearbeiten

Serverseite

Bearbeiten

Es gibt zwei verschiedene Wege, Service-Endpunkte aufzubauen: Code First (Bottom Up) über POJOs und Contract First (Top Down) über WSDL.

Start mit POJOs (Bottom Up)

Bearbeiten

Im Gegensatz zur vorhergehenden Entwicklungsweise (JAX-RPC), bei der zum Erstellen eines Webservice-Endpunktes eine Schnittstelle definiert und eine Klasse geschrieben wird, welche die Schnittstelle implementiert, können bei JAX-WS einfach nur POJOs, die bereits in einer Anwendung vorliegen, verwendet werden. Um dies zu ermöglichen, werden diese durch Java-Annotations zu einem Webservice erweitert. Auch die Deployment-Deskriptoren werden durch die Annotations überflüssig.

Start mit WSDL (Top Down)

Bearbeiten

Klassen werden aus der WSDL-Beschreibung des Serviceinterfaces generiert und vom Nutzer ergänzt.

Clientseite

Bearbeiten

Auf der Clientseite muss ein lokales Proxy-Objekt erzeugt werden, welches ebenfalls die Schnittstelle des Webservices implementiert (generiert aus WSDL). Bei JAX-WS holt sich der Client seinen Proxy nicht aus einer Factory. Er konstruiert ein ServiceObjekt mit dem new-Operator, ruft die getServicePort-Methode auf, um ein Proxy zu bekommen, und führt seine Methodenaufrufe auf dem Proxy-Objekt aus, als wäre der Webservice lokal verfügbar. Die JAX-WS-Laufzeitumgebung schickt die Aufrufe von dem Proxy-Objekt an den Webservice weiter, welcher dann die Operationen durchführt und das Ergebnis an den Client zurückschickt.

Unterstützte WS-*-Standards

Bearbeiten

Die folgenden WS-*-Standards sind in der Referenzimplementierung von JAX-WS umgesetzt:[3][4]

Zurzeit wird nur WSDL 1.1 unterstützt, nicht WSDL 2.0.

Implementierungen

Bearbeiten
Bearbeiten

Einzelnachweise

Bearbeiten
  1. Release 4.0.3. 23. Februar 2026 (abgerufen am 2. April 2026).
  2. Introducing JAX-WS 2.0 With the Java SE 6 Platform, Part 1
  3. Archivierte Kopie (Memento des Originals vom 1. Februar 2010 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/wiki.apache.org
  4. 1.4. Metro Specifications

📚 Artikel Terkait di Wikipedia

R (Programmiersprache)

einem Sitzungsmanager sowie einer REST-API für JSON und XML. Web-Applikationen können als Client in Java, JavaScript/Node.js und für das .Net-Framework

Markdown

z. B. im Software-Dokumentationswerkzeug Doxygen. Zahlreiche Instant Messaging Systeme wie Matrix und Webex unterstützen Markdown vollumfänglich, andere

SOAP

(Jakarta EE), mSOAP, kSOAP und Java API for XML Web Services API für Java AWS Web Development Framework Curl package in CURL.XML.SOAP cSOAP und gSOAP für C/C++

Jakarta EE

früher Java Platform, Enterprise Edition (Java EE), ist die Spezifikation einer Softwarearchitektur für die transaktionsbasierte Ausführung von in Java programmierten

React

React ist eine JavaScript-Programmbibliothek zur Erstellung von webbasierten Benutzeroberflächen. Komponenten werden in React hierarchisch aufgebaut und

Adobe Flash

(objektorientiert) geteilt. Darüber hinaus ließ sich die Flash-API mit Hilfe von Flash-JavaScript komfortabler erweitern und auf die eigenen Bedürfnisse

Web Services Interoperability Technology

Interoperability Technology basiert auf der Java API for XML Web Services (JAX-WS) und Java Architecture for XML Binding (JAXB) und unterstützt somit die

Apache Axis

Attachments API for Java) von Sun Microsystems unterstützt. Darüber hinaus unterstützt es die W3C-Spezifikationen WS-Reliable Messaging, WS-Security