WSDL styles

The SOAP nodes are configured by using a specific WSDL binding that has a style of either document (the default) or rpc. All operations that are defined in a specific WSDL binding are usually defined with the same use, which can be either literal (the default) or encoded.

The following terms are used to describe the three general types of WSDL bindings:

  • document-literal (style="document", use="literal")
  • rpc-literal (style="rpc", use="literal")
  • rpc-encoded (style="rpc", use="encoded")
The shape of the runtime SOAP message that is defined by the WSDL file depends on the binding type, as shown in the following table:
WSDL binding type Description
document-literal The SOAP payload is described by XML schema. The wrapped document-literal convention constructs the XML schema so that the first child of the SOAP Body matches the operation name.
rpc-literal The SOAP payload is described by the WSDL (operation and part name) and then by XML schema.
rpc-encoded The SOAP payload has the same general shape as rpc-literal, but can carry SOAP encoding annotations designed to give the receiver additional information about the message that is sent. The annotations are slightly different between SOAP 1.1 and SOAP 1.2.
All three WSDL styles are supported by IBM® Integration Bus. The best style for a new service is document-literal, and it is also the least likely to cause interoperability problems. You can use the wrapped document-literal convention to explicitly associate the SOAP payload with the operation.

Both document-literal and rpc-literal are WS-I compliant. The rpc-encoded style is not WS-I compliant and can cause interoperability problems if the web service client and server use different technologies. Some common issues encountered with WSDL styles are described in WSDL validation.

It is simple to create and parse SOAP messages described by document-literal or rpc-literal WSDL, because the payload is standard XML described by the message set created from the WSDL.

For more information, see rpc-encoded SOAP messages.