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

Jakarta XML Binding

Jakarta XML Binding (JAXB; früher Java Architecture for XML Binding) ist eine Programmschnittstelle in Java, die es ermöglicht, Daten aus einer XML-Schema-Instanz

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++

Ajax (Programmierung)

Ajax [] (auch AJAX; Akronym von englisch Asynchronous JavaScript and XML) bezeichnet ein Konzept der asynchronen Datenübertragung zwischen einem Browser

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

Java Development Kit

dem Java-Plugin ausgestattet sind, das Teil der Java-Laufzeitumgebung JRE ist. Das Dienstprogramm wsimport wurde im Zuge der Java API for XML Web Services

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

Jakarta RESTful Web Services

RESTful Web Services (JAX-RS; früher: Java API for RESTful Web Services) handelt es sich um die Spezifikation einer Programmierschnittstelle (API) der Programmiersprache

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