2008-09-17 7 views
67

なぜWebサービス実装者が他のWebサービスを実装するのか理解できませんでした。 XML-RPCは一般的に古いシステムで使用されていますか?これを理解する助けとなることは大いに感謝しています。XML-RPCとSOAPの違いは何ですか?

答えて

74

違いがありますか?

xml-rpcの仕様は、 1ページ 6ページに適合します。 SOAP 1.2仕様には 500ページ連 44ページがあります。

SOAPはより強力であり、ソフトウェアツールベンダー(MSFT .NET、Java Enterprise Edition、そのような種類のもの)によって非常に好まれます。

SOAPは長い間(2001年〜2007年)SOAの選択プロトコルとみなされていました。 xml-rpcはそんなにありません。 RESTは新しいSOAダーリンですが、プロトコルではありません。

SOAPはより冗長ですが、より能力があります。

SOAPは一部の古いものではサポートされていません。たとえば、クラシックASP(私が見つけることができる)用のSOAPライブラリはありません。

SOAPはPythonでうまくサポートされていません。 XML-RPCは、Pythonの標準ライブラリで非常に優れたサポートをしています。

それはなどの構造体、リスト、などの構造

XM-RPCを転送することができますが、XML-RPCは、値の転送についての詳細であるのに対し、SOAPは、プログラム言語に依存しない転送するプログラムについて実際にある、ドキュメントレベルの転送をサポートしています。主にhttp/httpsを超えています。 SOAPメッセージは電子メールにも送られます。

xml-rpcはよりunixyです。簡単に操作できますし、何をしているのか分かっているときは、端末テキストエディタを使用していても、高品質のWebサービスを展開するのは非常に高速です。そのようにSOAPを行うのは動物園です。実行可能にするには、本当に良いIDEが必要です。

フォーチュン500のIT関連の仕事をしたいと思っているのであれば、SOAPを知っていれば、あなたの履歴書/履歴書でもっとよく見えます。

xml-rpcには、ASCII以外の文字セットに問題があります。

編集:XML-RPCは名前付きパラメータをサポートしていません。それらは正しい順序でなければなりません。 SOAPについてはわかりませんが、そう考えてください。

+1

SOAPのPythonには、ZSIパッケージがあります。それはかなり良いですが、あなたは絶対にwsdlが必要です。 – edomaur

+1

私は古いSOAP Toolkitが "Classic ASP"をサポートしていたと思います。さらに、お気に入りの.NET言語を使用してサービス参照をラップするCOMコンポーネントを作成し、従来のASPでも最新のWebサービスを使用することができます。 –

+0

@マークハリソンとクリストファー:「その方法は動物園です」とはどういう意味ですか?申し訳ありませんが、「動物園」という言葉は理解できませんでした。 – Saravanan

11

の違いに大きなエッセイを持っていますEthereal。全体として、 "XML-RPCは簡単です"という議論は、SOAP呼び出しがどれほど冗長であるかを見るまではあまり意味がありません。そこではかなり普及しているWebサイトの多くは、人々が広範囲に使い始めた場合に消費する帯域幅の量だけで、APIとしてSOAPから逃げ出しています。

関連する問題