답변:
WSDL은 웹 서비스를 설명하는 XML 문서입니다. 실제로는 웹 서비스 설명 언어를 나타냅니다.
SOAP는 응용 프로그램간에 특정 프로토콜 (예 : HTTP 또는 SMTP 일 수 있음)을 통해 정보를 교환 할 수있는 XML 기반 프로토콜입니다. Simple Object Access Protocol의 약어이며 메시징 형식으로 XML을 사용하여 정보를 중계합니다.
REST는 네트워크 시스템의 아키텍처 스타일이며 Representational State Transfer를 나타냅니다. 표준 자체는 아니지만 HTTP, URL, XML 등과 같은 표준을 사용합니다.
"A WSDL is an XML document that describes a web service. It actually stands for Web Services Definition Language."
이것은 실제로 그것이 무엇인지 설명하지 않습니다 ...
The current version of WSDL is WSDL 2.0. The meaning of the acronym has changed from version 1.1 where the "D" stood for "Definition".
예 : 웹 서비스 계산기를 사용하는 경우 간단한 용어로 말하면됩니다.
WSDL : WSDL은 클라이언트에 구현하거나 노출 할 수있는 기능에 대해 알려줍니다. 예를 들어, 더하기, 삭제, 빼기 등이 있습니다.
SOAP : SOAP를 사용하는 경우 실제로 doDelete (), doSubtract (), doAdd ()와 같은 작업을 수행합니다. 따라서 SOAP와 WSDL은 사과와 오렌지입니다. 우리는 그것들을 비교해서는 안됩니다. 둘 다 서로 다른 기능을 가지고 있습니다.
SOAP 및 WSDL을 사용하는 이유 : 플랫폼 독립적 인 데이터 교환 용.
편집 : 일상 생활의 예 :
WSDL : 식당에 가면 메뉴 항목이 표시되는데, 이는 WSDL입니다.
프록시 클래스 : 이제 메뉴 항목을 본 후 마음을 구성합니다 (주문 대상에 대한 처리). 따라서 기본적으로 WSDL 문서를 기반으로 프록시 클래스를 만듭니다.
SOAP : 메뉴의 다음을 기준으로 실제로 음식을 주문할 때 : 프록시 클래스를 사용하여 SOAP를 사용하여 수행되는 서비스 메소드를 호출합니다. :)
누군가가 SOAP / WSDL을 언급 할 때마다 XML에 정의 된 객체와 클래스를 생각합니다.
"PHP 클래스와 동일한 방식으로 SOAP를 사용합니다. 그러나이 경우 클래스는 로컬 응용 프로그램 파일 시스템에는 없지만 http를 통해 액세스하는 원격 사이트에는 없습니다." ... "SOAP 서비스를 다른 PHP 클래스로 사용하려는 경우 WSDL 문서는 사용 가능한 모든 클래스 메소드 및 특성의 목록입니다."
.. 그리고 누군가 REST에 대해 이야기 할 때마다 POST, GET 및 DELETE와 같은 HTTP 명령 (요청 방법)을 생각합니다.
SOAP-> SOAP (Simple Object Access Protocal)는 시스템 간 상호 작용을 위해 생성 된 응용 프로그램 수준의 프로토콜입니다. 프로토콜은 표준 규칙을 정의합니다. 특정 프로토콜을 사용하는 모든 당사자는 프로토콜 규칙을 준수해야합니다. TCP와 마찬가지로 전송 계층에서 풀리므로 SOAP 프로토콜은 응용 프로그램 계층 (SOAP-Axis2, .Net을 지원하는 모든 응용 프로그램)에 의해 이해됩니다.
WSDL-> SOAP 메시지는 SoapEnevelope-> SoapHeader 및 SoapBody로 구성됩니다. 메시지 형식이 무엇인지 정의하지 않습니까? 지원하는 모든 전송 (HTTP, JMS)은 무엇입니까? 이 정보가 없으면 특정 웹 서비스를 사용하려는 클라이언트가 SOAP 메시지를 작성하기가 어렵습니다. 그들이 할지라도 확실하지 않을 것입니다. 항상 작동합니다. WSDL이 구조입니다. WSDL (Web Service description Language)은 SOAP 메시지의 조작, 메시지 형식 및 전송 세부 사항을 정의합니다.
REST-> REST (Representational State Transfer)는 전송을 기반으로합니다. 조치를 대상으로하는 SOAP와 달리 REST는 자원에 더 관심이 있습니다. REST는 URL (예 : -http : // {serverAddress} / employees / employeeNumber / 12345)을 사용하여 자원을 찾고 조치에 대한 전송 프로토콜 (HTTP-GET, POST, PUT, DELETE 사용)에 따라 다릅니다. 자원에서 수행됩니다. REST 서비스는 URL을 기반으로 자원을 찾고 전송 조치 동사를 기반으로 조치를 수행합니다. 건축 스타일과 관습에 더 가깝습니다.
복잡한 것을 "간단하게"이해하지 않을 것입니다.
WSDL은 웹 서비스를 설명하기위한 XML 기반 언어입니다. 서비스에서 사용하는 메시지, 작업 및 네트워크 전송 정보에 대해 설명합니다. 이러한 웹 서비스는 일반적으로 SOAP를 사용하지만 다른 프로토콜을 사용할 수 있습니다.
WSDL은 프로그램에서 읽을 수 있으므로 웹 서비스를 호출하는 데 필요한 클라이언트 코드의 전부 또는 일부를 생성하는 데 사용될 수 있습니다. 이것이 SOAP 기반 웹 서비스를 "자체 서술 (self-describing)"이라 부르는 의미입니다.
REST는 WSDL과 전혀 관련이 없습니다.
SOAP는 단순 (sic) 객체 액세스 프로토콜을 나타냅니다. HTTP를 통해 XML을 전송하여 원격 개체에 대한 원격 프로 시저 호출을 수행하는 방법입니다.
WSDL은 웹 서비스 기술 언어입니다. 엔드 포인트로 '.wsdl'로 끝나는 요청은 사용이 예상 할 수있는 요청 및 응답을 설명하는 XML 메시지를 생성합니다. 서비스와 고객 간의 계약을 설명합니다.
REST는 HTTP를 사용하여 메시지를 서비스로 보냅니다.
SOAP는 사양이고 REST는 스타일입니다.
REST는 인코딩 측면에서 가벼우 며 경량 장치, 즉 비 엄격한 API에 훨씬 유용합니다.
REST는 형식에 독립적입니다. XML, HTML, JSON 모든 옵션을 사용할 수 있습니다.
REST는 WSDL / SOAP 상호 작용이 다중 지점 메시지 상호 작용 인 2 지점 메시지 전송 기능 (REST가 REpresentational State Transfer를 나타내므로 놀라운 일이 아님)을 제공합니다.
REST는 XML 메시지에 대한 새로운 확장이 필요하지 않으며 WSDL / SOAP에서는이 경우에 해당합니다.
WSDL / SOAP는 여러 전송 프로토콜을 사용하며 REST는 HTTP에만 의존합니다. 따라서 WSDL / SOAP는 RESTful 방식처럼 사용할 수 있지만 간단한 요청은 지나치게 복잡하거나 무겁습니다.
간단한 비유 : REST는 모토 보이처럼 음식을 쉽고 빠르게 제공합니다. XML은 WSDL / SOAP를 UPS 제공, 구조화되고 진지한 것들과 비슷하지만 비용이 많이 듭니다.
SOAP 및 WSDL에 대한 명확한 설명도 여기에서 찾을 수 있습니다.