Online XML-Dokumente versenden: Mit SAAJ klappt es

SOAP with Attachments API for Java bietet eine standardisierte Möglichkeit, XML-Dokumente von der Java-Plattform aus über das Internet zu versenden. ZDNet zeigt, wie es geht.

Sollen SOAP-Messaging-Anwendungen direkt geschrieben werden, lässt sich SAAJ anstatt JAX-WS verwenden, einer allgemeineren Java-API zur Erstellung von Web-Services. Bei manchen Web-Services erweist sich SAAJ als nützlich, um direkt auf dieser niedrigeren Messaging-Ebene zu programmieren. SAAJ ermöglicht das Erstellen und den Versand von Nachrichten gemäß den Spezifikationen für SOAP 1.1 und 1.2 und den Aufzeichnungen zu SOAP with Attachments.

Will man beispielsweise einen Web-Service aufrufen, der ein Bestelldokument verwendet und einen Beleg herausgibt, lässt sich dieser Dokumentenaustausch ganz einfach als ein einzelner Nachrichtenaustausch mit Anfrage und Antwort konzipieren. Statt entfernte Methodenaufrufe durchzuführen, kann der Entwickler somit XML-Nachrichten erstellen, diese direkt an einen Web-Service senden und eine eventuelle XML-Antwort des Dienstes verarbeiten.

SAAJ bietet eine praktische Bibliothek für das Erstellen und Lesen von SOAP-Nachrichten. Außerdem können damit SOAP-Nachrichten über das Netzwerk versendet und empfangen werden. Die Spezifikation SAAJ 1.3 definiert das Paket javax.xml.soap. Es enthält die API zum Erstellen und Bestücken einer SOAP-Nachricht.

Warum werden Anhänge für SOAP benötigt?

SOAP-Nachrichten erfordern eine ganze Menge an Verarbeitungsleistung und Speicher. Alle Teile einer SOAP-Nachricht müssen den XML-Regeln in Bezug auf zulässige Zeichen und Zeichenfolgen entsprechen. Deshalb können Binärdaten nicht direkt eingeschlossen werden.

Außerdem parsen SOAP-Implementierungen gewöhnlich die gesamte Nachricht. Erst dann entscheiden sie, wie sie mit den Inhalten verfahren. Daher könnten große Datenfelder leicht den verfügbaren Speicherplatz übersteigen. Aus diesen Gründen benötigt SOAP ein Verfahren, um umfangreiche Nutz- und Binärdaten als Anhang anstatt innerhalb des Nachrichtenumschlags (Envelope) zu transportieren.

Das naheliegendste Verfahren hierfür ist das gleiche, das auch für Anhänge an E-Mail-Nachrichten eingesetzt wird: der mehrteilige MIME-Ansatz. Dabei wird eine Sammlung aus einzelnen Nachrichtenteilen anhand Header- und Trennzeichen identifiziert. Der erste Teil ist immer ein kompletter SOAP-Umschlag. Die nachfolgenden Teile hängen von der Anwendung ab.

Themenseiten: Anwendungsentwicklung, Software, XML

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Online XML-Dokumente versenden: Mit SAAJ klappt es

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *