SOAP Message Formats

WSDL 1.1 distinguishes between two message styles: document and RPC. Here's how each style affects the contents of <soap:Body>.

For applications that use serialization and deserialization to abstract away the data wire format, there is one more choice to be made: the serialization format. The current two popular serialization formats today are:

There are therefore four possible variations in the message format. By default, JADE uses the document/literal format. If circular references are detected, the only way to currently represent this is in encoded format, so in this case JADE defaults to document/encoded. You have a choice of changing either of these defaults to RPC format, by using the application options. JADE’s RPC format is always encoded.

Many people believe that a shift away from SOAP encoding is inevitable. The W3C XML Protocol Working Group's SOAP 1.2 specification makes support for SOAP encoding optional (that is, a toolkit can claim SOAP 1.2 compliance without supporting SOAP encoding), the WS-I Basic Profile Working Group's interoperability guidelines (Basic Profile Version 1.0a) disallows the use of SOAP encoding with SOAP 1.1, and the W3C Web Service Description Working Group has dropped support for encoding from the WSDL 1.2 specification.

Before JADE can drop support for encoded formats and conform to WS‑I’s Basic Profile, there has to be an XML schema‑friendly way to handle circular references. A one‑to‑one relationship is an example of a circular reference. If both properties in this relationship are exposed, the WSDL that JADE generates will be in encoded format.