Sunday Mar 26, 2006

SAAJ 1.3

The SOAP with Attachments API for Java (SAAJ) provides a standard way to send XML documents over the Internet from the Java platform.

SAAJ 1.2 was designed to handle SOAP 1.1 messages with or without attachments. SAAJ 1.3 was developed to cover the SOAP 1.2 messages as well while still maintaining the backward compatibility.

 

In this writeup I have listed the major changes in the SAAJ API in 1.3 release. In the next few articles I'll be writing sample codes to demonstrate the usage of these changes in the specification.

 

The SAAJ 1.3 RI is now available on java.net at https://saaj.dev.java.net/. Do join the project if you are interested in SAAJ and post any bugs/issues that you come across. SAAJ 1.3 EA is also bundled along with JWSDP 2.0.

 

SOAP version 1.2 has a number of changes in syntax and provides additional (or clarified) semantics from those described in SOAP 1.1. SAAJ 1.3 is concerned with the following areas:

  1. Support for SOAP version 1.2 message constructs in the API.

  2. Factoring out the  creation of all SAAJ Factory classes into a single SPI that allows creation of SOAP version aware Factories.

  3. Addition of a few new classes and  new methods in certain existing classes and interfaces.

  4. Support for overloaded QName based methods in certain classes and interfaces.

A brief summary of the changes in SAAJ 1.3 are as follows:

  1. Support for SOAP Version 1.2 message constructs in the API: SOAP Version 1.2 has a number of changes in syntax and intoduces several new Message Constructs. SAAJ 1.3 supports SOAP Version 1.2 Message constructs.

  2. SPI for Creation of Factory Instances: SAAJ 1.3 supports SOAP Version 1.2 Message Constructs, while at the same time being backward compatible in its support for SOAP Version 1.1. It defines an SPI (SAAJMetaFactory) for factoring out the creation of SOAP Version aware Factory classes into a single place. Changing out the SAAJMetaFactory has the effect of changing out the entire SAAJ implementation. Backward compatibility is maintained by ensuring that the default protocol is set to SOAP Version 1.1.

  3. Definition of a new class SAAJResult: A SAAJResult object acts as a holder for the results of a JAXP transformation or a JAXB marshalling, in the form of a SAAJ tree. This class will  make it easier for the end user  when dealing with transformations in situations where the result is expected to be a valid SAAJ tree.

  4. Addition of overloaded methods which accept a Qname instead of a Name: QName is the preferred representation of XML qualified names, and hence we would like to introduce overloaded methods in all APIs where a corresponding method was accepting a javax.xml.soap.Name as argument. The Name interface may be deprecated in a future release of SAAJ in favor of QName.

  5. Addition of new methods in certain Interfaces and classes: A few new methods have been introduced in AttachmentPart, SOAPBody, and SOAPElement. These new methods are intended for ease of use and to assist SAAJ users when dealing with some of the newer  SOAP features.

  6. Make SOAPPart a javax.xml.soap.Node: In SAAJ 1.2 SOAPPart was implementing org.w3c.dom.Document  only.

About

ashutoshshahi

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today
Bookmarks
Blogroll

No bookmarks in folder