XML-RPC was originally developed by Microsoft, Developmentor and Userland and
essentially provided a simple and effective way to implement distributed RPCs
utilising XML. However its developers realised that it suffered from a number
of flaws in areas such as extensibility, robustness and interoperability when
pushed on a global scale. Having then worked on the draft specifications of
SOAP, they then teamed up with IBM and pushed the final SOAP specifications
before handing them over to the W3C.
Some of the flaws inherent in XML-RPC are as follows:
Inability to transparently extend the request/response formats. So for example
if you needed to pass security credentials with your XML-RPC call you would
have to modify the procedure and add one parameter.
XML-RPC is bound to the HTTP protocol, whilst SOAP allows the use of HTTP,
SMTP, JMS etc.
XML-RPC doesn't use XML namespaces and defines its own data types and is
therefore redundant given use of XML schemas.
Although XML-RPC is XML based it provides no clean mechanism to pass an XML
document within a request/response. You therefore have to revert to base64
encoding techniques etc. should this be required.
XML-RPC was originally developed by Microsoft, Developmentor and Userland and essentially provided a simple and effective way to implement distributed RPCs utilising XML. However its developers realised that it suffered from a number of flaws in areas such as extensibility, robustness and interoperability when pushed on a global scale. Having then worked on the draft specifications of SOAP, they then teamed up with IBM and pushed the final SOAP specifications before handing them over to the W3C.
Some of the flaws inherent in XML-RPC are as follows:
Inability to transparently extend the request/response formats. So for example if you needed to pass security credentials with your XML-RPC call you would have to modify the procedure and add one parameter.
XML-RPC is bound to the HTTP protocol, whilst SOAP allows the use of HTTP, SMTP, JMS etc.
XML-RPC doesn't use XML namespaces and defines its own data types and is therefore redundant given use of XML schemas.
Although XML-RPC is XML based it provides no clean mechanism to pass an XML document within a request/response. You therefore have to revert to base64 encoding techniques etc. should this be required.