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.

Fanden Sie diesen Artikel nützlich?
Noch keine Bewertung vorhanden.

Aktuelle Job-Angebote

ZDNet.de Live

UL, ...

UL, Drexel University partner to establish research hub t.co/...

10.02.12, 22:15 von ZDNet
wow! ...

wow! ein wirklich schickes Android, das nicht Tablet-Größe hat: t.co/... ... leider nur mäßige technische Daten.

10.02.12, 21:25 von coke4all
Googl ...

Google arbeitet angeblich an Home Entertainment System mit Cloudanbindung t.co/...

10.02.12, 21:10 von zdnet_de
Why ...

Why are young Japanese men losing interest in sex? t.co/...

10.02.12, 20:55 von ZDNet
What ...

What AMD's new roadmap means for users t.co/...

10.02.12, 20:40 von ZDNet
Manch ...

Manchester City is expanding its online reach to Japan t.co/...

10.02.12, 20:35 von ZDNet
Fours ...

Foursquare evolving into one-stop shop with NFC support t.co/...

10.02.12, 20:35 von ZDNet
Websi ...

Website der Gelben Seiten baut Bewertungsfunktionen aus t.co/...

10.02.12, 20:30 von zdnet_de
Motor ...

Motorola: Android-Updates verzögern sich wegen der Hardware-Vielfalt t.co/...

10.02.12, 20:00 von zdnet_de
Aktie ...

Aktienkurse dort wo man sie am liebsten sieht: auf dem Mülleimer! t.co/...

10.02.12, 19:50 von coke4all
Faceb ...

Facebook details Zuckerberg's $500,000 salary, 45% bonus t.co/...

10.02.12, 19:45 von ZDNet
New ...

New Microsoft Office University product comes with tougher verification rules t.co/...

10.02.12, 19:35 von ZDNet
#Prad ...

#Prada Phone by #LG 3.0 ausgepackt und ausprobiert - #smartphone #android t.co/...

10.02.12, 19:30 von cnet_de
Schon ...

Schon im Test: Prada Phone by LG 3.0 mit Android und superhellem Display t.co/...

10.02.12, 19:30 von cnet_de
Beta ...

Beta von Chrome 18 erweitert Hardwarebeschleunigung t.co/...

10.02.12, 19:30 von zdnet_de
Sage ...

Sage helps chocolate business manage seasonality t.co/...

10.02.12, 19:20 von ZDNet
Colum ...

Columbia University excludes Google Docs t.co/...

10.02.12, 19:20 von ZDNet
Benq ...

Benq bringt XGA-Projektor mit 4000 ANSI-Lumen t.co/...

10.02.12, 19:00 von zdnet_de
Germa ...

Germany postpones ACTA signing in wake of protests t.co/...

10.02.12, 18:45 von ZDNet