Nigdy tak naprawdę nie rozumiem, dlaczego osoba wdrażająca usługi internetowe wybierałaby jeden nad drugim. Czy XML-RPC można znaleźć ogólnie w starszych systemach? Jakakolwiek pomoc w zrozumieniu tego będzie wielce ceniona.Jaka jest różnica między XML-RPC a SOAP?
Odpowiedz
Różnice?
Specyfikacja xml-rpc mieści się na
1 stronie
6 stronach. Specyfikacja SOAP 1.2 będzie Cię kosztować
strony 500 ryzu
44 strony.
SOAP ma większą moc i jest preferowany przez dostawców oprogramowania (MSFT .NET, Java Enterprise Edition, tego typu rzeczy).
SOAP był przez długi czas (2001-2007) postrzegany jako wybrany protokół dla architektury SOA. xml-rpc nie tak bardzo. REST jest nową ukochaną SOA, chociaż nie jest to protokół.
SOAP jest bardziej szczegółowy, ale bardziej wydajny.
SOAP nie jest obsługiwany w niektórych starszych wersjach. Na przykład brak bibliotek SOAP dla klasycznej ASP (którą mogłem znaleźć).
SOAP nie jest dobrze obsługiwany w pythonie. XML-RPC ma świetne wsparcie w Pythonie, w standardowej bibliotece.
SOAP obsługuje transfer na poziomie dokumentu, a XML-RPC jest więcej o przeniesienie wartości, chociaż może przenieść struktur, takich jak kodowanym, list itp
XM-RPC jest naprawdę o program językowy agnostycznego transferu . Przeważnie przechodzi on przez http/https. Wiadomości SOAP mogą również przechodzić przez e-mail.
xml-rpc jest bardziej unixowy. Pozwala to na proste działanie, a kiedy wiesz, co robisz, bardzo szybko wdraża wysokiej jakości usługi sieciowe, nawet przy użyciu terminalowych edytorów tekstu. Robiąc w ten sposób SOAP jest zoo; naprawdę potrzebujesz dobrego IDE, aby było to możliwe.
Znając SOAP, będzie wyglądać znacznie lepiej na CV/CV, jeśli ubiegasz się o pracę IT w Fortune 500.
xml-rpc ma pewne problemy z zestawami znaków spoza zestawu ASCII.
Edytowane: Chciałem tylko dodać, że XML-RPC nie obsługuje nazwanych parametrów. Muszą być w poprawnej kolejności. Nie mam pewności co do SOAP, ale myślę, że tak.
Kate Rhodes ma wielki esej o różnicach w http://weblog.masukomi.org/2006/11/21/xml-rpc-vs-soap
Wystarczy dodać do innych odpowiedzi, chciałbym zachęcić do obejrzenia rzeczywistych reprezentacji tekstowej SOAP i XML-RPC, być może poprzez uchwycenie jednego z Eteryczny. Cały argument "XML-RPC jest prostszy" nie ma większego sensu, dopóki nie zobaczysz, jak niewiarygodnie szczegółowe jest wywołanie SOAP. Wiele z dość popularnych stron internetowych nie lubi SOAP jako swojego API ze względu na ilość przepustowości, którą zużyje, gdyby ludzie zaczęli go intensywnie używać.
- 1. Jaka jest różnica między cat_id a term_id?
- 2. Jaka jest różnica między IEnumerable a tablicami?
- 3. Jaka jest różnica między == a === w Verilog?
- 4. Jaka jest różnica między UseCase a Workflow?
- 5. Jaka jest różnica między pakietem a intencją?
- 6. Jaka jest różnica między węzłem a wierzchołkiem?
- 7. Jaka jest różnica między Ember.computed.alias a Ember.binding?
- 8. Jaka jest różnica między alertem a window.alert?
- 9. Jaka jest różnica między @android a android:
- 10. Jaka jest różnica między krotką a kompresją?
- 11. Jaka jest różnica między proxy a reify?
- 12. Jaka jest różnica między @Inject a @PersistenceContext?
- 13. Jaka jest różnica między sqlite3 a pdo_sqlite
- 14. Jaka jest różnica między Const a Constant?
- 15. Jaka jest różnica między Socket.IO a Firebase?
- 16. Jaka jest różnica między macierzą a tablix?
- 17. Jaka jest różnica między KERN_INVALID_ADDRESS a KERN_PROTECTION_FAILURE?
- 18. Jaka jest różnica między Float.POSITIVE_INFINITY a Float.MAX_VALUE?
- 19. Jaka jest różnica między SGML a XML?
- 20. Jaka jest różnica między Cake a Leiningen?
- 21. Jaka jest różnica między JavaBean a POJO?
- 22. Jaka jest różnica między kopiowaniem a klonowaniem?
- 23. Jaka jest różnica między HAVING a WHERE?
- 24. Jaka jest różnica między ItemTemplate a ItemPanelTemplate?
- 25. Jaka jest różnica między słownikiem a tablicą?
- 26. Jaka jest różnica między cancelBubble a stopPropagation?
- 27. Jaka jest różnica między NSString a NSMutableString?
- 28. Jaka jest różnica między StudlyCaps a CamelCase?
- 29. Jaka jest różnica między IPV6_ADD_MEMBERSHIP a IPV6_JOIN_GROUP?
- 30. Jaka jest różnica między spark.sql.shuffle.partitions a spark.default.parallelism?
Dla SOAP z Python, jest pakiet ZSI. Jest całkiem niezły, ale absolutnie potrzebujesz pliku wsdl. – edomaur
Wierzę, że stary zestaw narzędzi SOAP miał wsparcie dla "klasycznej ASP". Co więcej, można użyć ulubionego języka .NET do stworzenia komponentu COM, który zawija odniesienie do usługi, pozwalając klasycznej ASP na korzystanie nawet z nowoczesnych usług internetowych. –
@Mark Harrison and Christopher: Co masz na myśli mówiąc "Robiąc w ten sposób SOAP to zoo". Zwykle nie mogłem zrozumieć słowa "zoo". Opisz to ... – Saravanan