SOAP WSDLs - RPC/Encoded
Example of the SOAP message
<soap:envelope>
<soap:body>
<myMethod>
<x xsi:type="xsd:int">5</x>
<y xsi:type="xsd:float">5.0</y>
</myMethod>
</soap:body>
</soap:envelope>
There are a number of things to notice about the WSDL and SOAP message for this RPC/encoded example:
Strengths
The WSDL is about as straightforward as it's possible for WSDL to be.
The operation name appears in the message, so the receiver has an easy time dispatching this message to the implementation of the operation
Weaknesses
The type encoding info (such as xsi:type=“xsd:int”) is usually just overhead which degrades throughput performance.
You cannot easily validate this message since only the <x …>5</x> and <y …>5.0</y> lines contain things defined in a schema; the rest of the soap:body contents comes from WSDL definitions.
Although it is legal WSDL, RPC/encoded is not WS-I compliant.