Apple Developer Connection
Member Login Log In | Not a Member? Contact ADC

< Previous PageNext Page > Hide TOC

XML-RPC vs. SOAP

SOAP and XML-RPC are related protocols in that they both attempt to homogenize the passing of parameters to Web services. SOAP is currently a W3C recommendation and is actively being enhanced and developed by Microsoft and other companies. The Microsoft .NET initiative is largely driven by being able to access Web services transparently through SOAP messsages.

XML-RPC is a final specification which is less verbose and easier to implement than SOAP. Both SOAP and XML-RPC work by turning a set of parameters (scalars, strings, dates, arrays, records, and binary data) into XML for transmission. XML-RPC is defined as operating over an HTTP connection, while SOAP describes the envelope format for an RPC request which may be sent over HTTP, SMTP or some other protocol.

SOAP passes parameters by name and XML-RPC passes parameters by position. This is relevant because a routine that depends on the order of parameters in XML-RPC must be called carefully to ensure correct results.

SOAP allows for user record types by extending the XML document using XML Schemas. XML-RPC only allows for the base types defined in the specification. (In reality, any type can be defined using those primitives.)

Both SOAP and XML-RPC support passing binary data in an XML document using Base-64 encoding. XML-RPC has a major flaw, however, in that it defines string parameters as being ASCII text. Some XML-RPC servers will enforce this, forcing the user to pass internationalized text as Base-64 encoded data.

In this section:

XML-RPC Specification
SOAP 1.1 W3C Note
WSDL Specification
WSDL Schema
Developer Resources


XML-RPC Specification

The complete specification is available at

http://www.xmlrpc.com/spec

SOAP 1.1 W3C Note

SOAP is transport-agnostic, meaning that it is an envelope format but not the transmission. It has recommendations if you send it over HTTP, such as additional headers that you might add, or how it might deal with the server in terms of what error codes it might return. But the SOAP message format itself is the same.

The specification and schemas are available at

http://www.w3.org/TR/SOAP/

WSDL Specification

WSDL defines an XML-based grammar for describing network services as a set of endpoints that accept messages containing either document-oriented or procedure-oriented information. The WSDL specification index page links to the WSDL 1.1 specification, related schema, and an overview of the specification.

The specification is available at

http://www.w3.org/TR/wsdl

WSDL Schema

The WSDL Framework, SOAP binding, HTTP GET & POST binding, and MIME binding are available at

http://www.w3.org

Developer Resources

Apple provides a number of resources available to assist developers. These include



< Previous PageNext Page > Hide TOC


Last updated: 2005-08-11




Did this document help you?
Yes: Tell us what works for you.

It’s good, but: Report typos, inaccuracies, and so forth.

It wasn’t helpful: Tell us what would have helped.
Get information on Apple products.
Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Copyright © 2007 Apple Inc.
All rights reserved. | Terms of use | Privacy Notice