Online XML-Dokumente versenden: Mit SAAJ klappt es

Die SAAJ-API verfügt über eine so genannte Node-Schnittstelle. Sie bildet die Basisklasse für alle Klassen und Schnittstellen, die XML-Elemente in einer SOAP-Nachricht darstellen.

Es gibt zwei primäre Arten von SOAP-Nachrichten: Nachrichten mit und ohne Anhänge. Stark vereinfacht sieht die Struktur einer SOAP-Nachricht folgendermaßen aus: SOAPPart enthält den SOAPEnvelope, worin wiederum (optional) der SOAPHeader und ein Textkörper enthalten sind. Folglich besitzen die grundlegenden Teile einer SOAP-Nachricht jeweils entsprechende Java-Klassen in SAAJ.

Die SAAJ-API liefert die SOAPMessage-Klasse zur Darstellung einer SOAP-Nachricht. Sie bietet die SOAPPart-Klasse zur Darstellung des SOAP-Teils und die SOAPEnvelope-Schnittstelle zur Darstellung des SOAP-Umschlags. Viele SAAJ-APIs erweitern DOM-Schnittstellen. In einer SAAJ-Nachricht ist die SOAPPart-Klasse auch ein DOM-Dokument.

Im Envelope-Element muss eine SOAP-Nachricht ein Body-Element besitzen, optional auch ein Header-Element. SAAJ bietet die Objekte SOAPBody und SOAPHeader zur Bearbeitung des Inhalts dieser Elemente. SAAJ stellt zwar das Verfahren zur Verfügung, aber die Inhalte der Objekte SOAPBody und SOAPHeader muss der Entwickler erstellen.

Ein SOAPMessage-Objekt kann eines oder mehrere zusätzliche AttachmentPart-Objekte enthalten, oder auch gar keines. Die MIME-Inhaltstypen sind beliebig, zum Beispiel ein XML-Dokument, eine Textdatei oder ein Bild. Wenn kein Anhang vorhanden ist, wird die Nachricht als reines XML-Dokument übertragen. Werden ein oder mehrere Anhänge hinzugefügt, löst dies automatisch eine Übertragung in Form einer Sammlung aus MIME-Teilen aus. Anhänge werden unter Verwendung der AttachmentPart-Klasse hinzugefügt, die eine Datenquelle (meist einen Input-Stream) und einen MIME-Inhaltstyp erfordert. Da die Java-Standardbibliothek zahlreiche Möglichkeiten zum Erstellen eines Input-Streams bietet, ist dieser Ansatz äußerst flexibel.

Die Abbildung unten zeigt die grundsätzliche Struktur einer SOAP-Nachricht mit zwei Anhängen. Die SAAJ-API stellt die AttachmentPart-Klasse bereit, um den Anhangsteil einer SOAP-Nachricht darzustellen. Ein SOAPMessage-Objekt umfasst automatisch ein SOAPPart-Objekt und seine erforderlichen Unterelemente. Allerdings muss der Entwickler diese selbst erstellen und hinzufügen, da AttachmentPart-Objekte optional sind.

Page: 1 2 3 4

ZDNet.de Redaktion

Recent Posts

BSI-Studie: Wie KI die Bedrohungslandschaft verändert

Der Bericht zeigt bereits nutzbare Angriffsanwendungen und bewertet die Risiken, die davon ausgehen.

4 Tagen ago

KI-Wandel: Welche Berufe sich am stärksten verändern

Deutsche sehen Finanzwesen und IT im Zentrum der KI-Transformation. Justiz und Militär hingegen werden deutlich…

4 Tagen ago

Wie ein Unternehmen, das Sie noch nicht kennen, eine Revolution in der Cloud-Speicherung anführt

Cubbit ist das weltweit erste Unternehmen, das Cloud-Objektspeicher anbietet. Es wurde 2016 gegründet und bedient…

4 Tagen ago

Dirty Stream: Microsoft entdeckt neuartige Angriffe auf Android-Apps

Unbefugte können Schadcode einschleusen und ausführen. Auslöser ist eine fehlerhafte Implementierung einer Android-Funktion.

4 Tagen ago

Apple meldet Umsatz- und Gewinnrückgang im zweiten Fiskalquartal

iPhones und iPads belasten das Ergebnis. Außerdem schwächelt Apple im gesamten asiatischen Raum inklusive China…

4 Tagen ago

MadMxShell: Hacker verbreiten neue Backdoor per Malvertising

Die Anzeigen richten sich an IT-Teams und Administratoren. Ziel ist der Zugriff auf IT-Systeme.

5 Tagen ago