SOAP 및 WSDL은 매우 복잡한 표준으로 다른 표준 하위 집합을 지원하는 많은 구현이 있습니다. SOAP은 XML-RPC과 같은 방식으로 간단한 외부 함수 인터페이스에 잘 매핑되지 않습니다. 대신 올바른 SOAP 메시지를 생성하기 위해 XML 네임 스페이스, 봉투, 헤더, WSDL, XML 스키마 등을 이해해야합니다. XML-RPC 서비스를 호출하기 위해해야 할 일은 정의하고 끝점을 지정하고 메서드를 호출하는 것입니다. 예를 들어, 루비 :
require 'xmlrpc/client'
server = XMLRPC::Client.new2("http://example.com/api")
result = server.call("add", 1, 2)
XML-RPC 이외에도, 같은 일반 XML 또는 HTTP를 통해 JSON으로 훨씬 더 간단하고 경량이 될 수있는 다른 방법이 있다는 것을 암시하지만 (자주 REST이라 특정 다른 설계 고려 사항). HTTP를 통한 XML 또는 JSON과 같은 기능의 이점은 JavaScript 또는 양식 제출이있는 단순한 웹 페이지에서도 쉽게 사용할 수 있다는 것입니다. curl 같은 도구를 사용하여 명령 줄에서 쉽게 스크립팅 할 수도 있습니다. HTTP 라이브러리, XML 라이브러리 및 JSON 라이브러리는 거의 모든 곳에서 사용할 수 있으므로 JSON 파서를 사용할 수없는 경우에도 거의 모든 언어로 작동하므로 사용자가 직접 작성할 수 있습니다.
편집 : 내가 개념적으로 헤비급 SOAP이 얼마나 참조하고 있음을 명확히해야한다, 무거운 무게에 반대는 데이터의 원시 양의 측면에서입니다.데이터의 원시 금액이 덜 중요하다고 생각합니다. (작은 요청을 많이 처리해야하는 경우 빠르게 증가하지만) 개념적으로 헤비급이 얼마나 중요한지, 이는 무언가가 더 많은 곳이 더 많다는 것을 의미하므로 중요합니다. 비 호환성 등이있을 수있는 곳에서 잘못 될 수 있습니다.
"어쨌든 libSOAP를 처리해야하는 경우 페이로드가 유선처럼 보이는지 신경 쓰는 사람": 아주 좋은 발언입니다! SOAP은 실제로 IPC 메시지 형식이 복잡 할 필요는 없지만 사용자가 직접 구현을 시도 할 수없는 것처럼 느낍니다. –