Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Programming IT Technology

XML-RPC vs. SOAP: An Overview 13

masukomi writes: "After watching a recent discussion where someone wondered what the difference was between XML-RPC and SOAP and which to use I set about answering this question for myself. The result was this basic overview of the two protocols (also in acrobat format)."
This discussion has been archived. No new comments can be posted.

XML-RPC vs. SOAP: An Overview

Comments Filter:
  • W3C ratification (Score:3, Insightful)

    by xyzzy ( 10685 ) on Wednesday November 14, 2001 @02:42PM (#2564996) Homepage
    The biggest difference is that SOAP is a W3C-ratified protocol, while XML-RPC is not.

    SOAP also isn't that hard to use -- using a package prevents you from ever having to look at the wire protocol. SOAP::Lite makes using SOAP completely trivial.
    • it is NOT ratified. it is still just a submission. not even a recommendation.
      "This document is a submission to the World Wide Web Consortium (see Submission Request, W3C Staff Comment) to propose the formation of a working group in the area of XML-based protocols. Comments are welcome to the authors but you are encouraged to share your views on the W3C's public mailing list (see archives)."
      From the SOAP spec [w3.org].
    • additionally:
      This document is a NOTE made available by the W3C for discussion only. Publication of this Note by W3C indicates no endorsement by W3C or the W3C Team, or any W3C Members. W3C has had no editorial control over the preparation of this Note. This document is a work in progress and may be updated, replaced, or rendered obsolete by other documents at any time.
      sorry I didn't include that in my previous post.
      • Oop, my mistake -- but it is on a path to be ratified -- and XML-RPC isn't even there. That gives it a huge leg up in my opinion.
        • by cmowire ( 254489 )
          Yeah, but what does the leg up give it? SOAP is suffering from the too-many-cooks sort of problem that is taking it away from being a simple protocal.

          And, since the standard isn't complete but people are implementing it, it probably won't be any more standard than old-fashioned RPC, where everybody extended it and such to build your own standard. (i.e. DCOM is technically an implementation of RPC, but not really)

          What's most likely to happen is that nobody will win. MS people will use MS's purposefully broken SOAP implementation, some others will use real SOAP, and others will just use XML-RPC.

          Which will eliminate many of the supposed advantages of any of the protocals.
  • How about an overview that tells me the differences/similarities without the author having already decided that XML-RPC is the obvious choice and making it sound like a debate on the opinion page of the newspaper?

    I think the advocacy is pretty clear here. Not saying that XML-RPC isn't better, but ummm, I'd like to make the choice. I could easily find some SOAP advocate that could easily draw up a comparison and counterpoint most of what the author feels is strength in XML-RPC...something like

    "XML-RPC documentation is very sparse and if you ask me, it is not flexible in the enterprise environment as it doesn't allow user-defined types"

    "XML-RPC has not at this point shown any interest in becoming an stable industry standard by submitting itself to the peer-review of w3c"

    If you are going to write a "this vs. this REFERENCE", then leave the advocacy out. It just complicates things. If XML-RPC is better, let the reader decide. If this is an editorial, then don't bill it as an overview.

    If i wanted to read "documentation" ladled with advocacy, there are plenty of .NET tutorials for me to grind through.
  • The problem with all this SOAP vs XML-RPC nonesense is that it avoids the real issue: very few people have to write a SOAP or XML-RPC library for any language. Using SOAP in most languages is trivial. Same for using XML-RPC. So let's get over the arguments about how the XML-RPC spec is easier to read - partly it's easier to read because it's so damned inconsistent! Both protocols are equally easy to use. And that's the important point.
    • Aaah, but that's NOT true. For starters XML-RPC uses an EXTREMELY stripped down XML for encapsulation, using no attributes. SOAP requires an XML parser capable of understanding attributes and namespaces.

      Furthermore XML-RPC is far easier to implement as a CGI-type application, because it requires no information from the HTTP headers. SOAP requires a SOAP-Action header to tell it what to do.

      SOAP and XML-RPC are only trivial if your language happens to have a compliant (but not quiet, because these do not use valid XML documents) XML parser library too. And those aren't as common as some people think.

      But I will agree that the XML-RPC spec is inconsistent!

        • Aaah, but that's NOT true. For starters XML-RPC uses an EXTREMELY stripped down XML for encapsulation, using no attributes. SOAP requires an XML parser capable of understanding attributes and namespaces.
        So that covers just about every XML parser in existance then.
        • Furthermore XML-RPC is far easier to implement as a CGI-type application, because it requires no information from the HTTP headers. SOAP requires a SOAP-Action header to tell it what to do.
        Eh? This will be in the HTTP_SOAP_ACTION environment variable with every CGI 1.1 compliant environment.
        • SOAP and XML-RPC are only trivial if your language happens to have a compliant (but not quiet, because these do not use valid XML documents) XML parser library too. And those aren't as common as some people think.
        I think that's pretty specious at best. XML parsers are very easily obtained with any language, and most languages have some sort of SOAP and XML-RPC support, so you can pick and choose.

        The point being (which you seem to have missed), XML-RPC is as easy as SOAP from the user's perspective, not from the developer's perspective.

  • by GCP ( 122438 ) on Friday November 16, 2001 @07:23AM (#2573848)
    xml-rpc is limited to ASCII. You couldn't even use it for French or Spanish, much less use it for all languages. No company with any sense would use a text-based system limited to ASCII in the 21st Century. Even DOS 1.0 was more advanced than that.

"Gravitation cannot be held responsible for people falling in love." -- Albert Einstein

Working...