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.

SOAP-Message

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

Kommentare sind bei diesem Artikel deaktiviert.