나는 웹 서비스 구현자가 왜 다른 것을 선택하는지 이해하지 못했습니다. XML-RPC는 일반적으로 구형 시스템에서 발견됩니까? 이것을 이해하는 데 도움을 주시면 대단히 감사하겠습니다.
답변:
차이점?
SOAP는 더 강력하며 소프트웨어 도구 공급 업체 (MSFT .NET, Java Enterprise 에디션 등)가 선호합니다.
SOAP는 오랫동안 (2001-2007 년) SOA를위한 프로토콜로 여겨졌습니다. xml-rpc는 그다지 많지 않습니다. REST는 프로토콜이 아니지만 새로운 SOA 사랑입니다.
SOAP는 더 장황하지만 더 기능적입니다.
SOAP는 일부 오래된 항목에서는 지원되지 않습니다. 예를 들어, 클래식 ASP에 대한 SOAP 라이브러리가 없습니다 (찾을 수 있음).
SOAP는 파이썬에서 잘 지원되지 않습니다. XML-RPC는 표준 라이브러리에서 Python을 크게 지원합니다.
SOAP는 문서 수준 전송을 지원하는 반면 xml-rpc는 구조, 목록 등과 같은 구조를 전송할 수 있지만 값 전송에 더 가깝습니다.
xm-rpc는 언어에 구애받지 않는 프로그램 간 전송에 관한 것입니다. 주로 http / https를 사용합니다. SOAP 메시지는 이메일로도 전달 될 수 있습니다.
xml-rpc는 더 독특합니다. 작업을 간단하게 수행 할 수 있으며 수행중인 작업을 알고 있으면 터미널 텍스트 편집기를 사용할 때도 고품질 웹 서비스를 배포하는 것이 매우 빠릅니다. 그런 식으로 SOAP를하는 것은 동물원입니다. 이를 실현하려면 좋은 IDE가 정말로 필요합니다.
하지만 SOAP를 아는 것은 Fortune 500 IT 작업을 위해 경쟁하는 경우 이력서 / CV에서 훨씬 더 좋아 보일 것입니다.
xml-rpc에는 ASCII가 아닌 문자 집합과 관련된 몇 가지 문제가 있습니다.
XML-RPC는 명명 된 매개 변수를 지원하지 않습니다. 순서가 정확해야합니다. SOAP에 대해서는 확실하지 않지만 그렇게 생각하십시오.
Kate Rhodes는 http://weblog.masukomi.org/2006/11/21/xml-rpc-vs-soap 에서 차이점에 대한 훌륭한 에세이를 가지고 있습니다 .