SOAP uses an XML format to marshal data that is transported between software application. SOAP was planned to be used for legacy systems and modern object-oriented systems as well. Consequently, SOAP offers more than one encoding method to convert data from a software object into XML and vice versa (see the page of W3C).

There are two ways, in which it maps high level data types like arrays, integers, floats and so on to a serialized XML format: SOAP encoding  (also called Section 5 encoding) and Literal encoding .
Literal encoding means that the body contents conform to a specific XML Schema. SOAP encoding uses a set of rules based on the XML Schema data types to encode the data, but the message does not conform to a particular schema.
In addition to the SOAP encoding styles, messages can be of two styles: RPC (Remote Procedure Call) style or Document style. The following encodings are commonly used:

  • SOAP Remote Procedure Call (RPC) encoding (also known as Section 5 encoding, which is defined by the SOAP 1.1 specification).
    • SOAP encoding
    • RPC style messages
  • SOAP Remote Procedure Call Literal encoding (SOAP RPC-literal), which uses RPC methods to make calls but uses an XML do-it-yourself method for marshalling the data.
    • literal encoding
    • RPC style messages
  • SOAP document-style encoding, which is also known as message-style or document-literal encoding.
    • literal encoding
    • document style messages

The following table summarizes these combinations.

Ways to Map Data TypesSOAP Encoding (also called Section 5 encoding)Literal Encoding
message typesRPC styleDocument styleRPC styleDocument style
nameSOAP RPC encoding<commonly not used in SOAP applications>SOAP RPC-literalSOAP document-style encoding (or document-literal)
supported by the Bridge (tick)n/a(error) (tick)
  • No labels