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

Representational State Transfer

bauen, und unterstützen die Verwendung von Clean URLs. Java API for RESTful Web Services (JAX-RS) Web Application Description Language – Beschreibungssprache

JSON

jQuery API. In: api.jquery.com. Abgerufen am 23. Januar 2011 (englisch).  GWT Tutorial: How to Read Web Services Client-Side with JSONP. In: Google Web Toolkit

Content Repository for Java Technology API

Content Repository for Java Technology API (JCR) ist eine Spezifikation für eine Java-Plattform-API, um auf Content in einer einheitlichen Methode zuzugreifen

Jakarta XML RPC

Jakarta XML RPC (JAX-RPC; früher Java API for XML Based RPC) ist eine Java-Bibliothek, um Remote Procedure Calls auf XML-Basis ausführen zu können. Die

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

Jakarta EE

Designing Web Services with the J2EE 1.4 Platform. Addison-Wesley, 17. Juni 2004, ISBN 0-321-20521-9. Jason Hunter, William Crawford: Java Servlet Programming

JSON-LD

darstellen. JSON ersetzt hierbei XML abseits von XHTML. XML-Parser, RDF-Speicher und SPARQL-Maschinerie werden im Web-Umfeld zuweilen als „Overhead“ empfunden

Android-Softwareentwicklung

Texteditor verwenden, um Java- und XML-Dateien zu bearbeiten. Anschließend können mithilfe von Kommandozeilen-Werkzeugen (Java Development Kit und Apache