回答:
WSDLは、Webサービスを記述するXMLドキュメントです。これは実際にはWebサービス記述言語の略です。
SOAPはXMLベースのプロトコルであり、アプリケーション間で特定のプロトコル(HTTPやSMTPなど)を介して情報を交換できます。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".
例:簡単に言えば、電卓のWebサービスがある場合。
WSDL:WSDLは、クライアントに実装または公開できる関数について通知します。例:追加、削除、減算など。
SOAP:SOAPを使用する場合と同じように、実際にdoDelete()、doSubtract()、doAdd()などのアクションを実行します。したがって、SOAPとWSDLはリンゴとオレンジです。それらを比較すべきではありません。どちらにも独自の機能があります。
SOAPとWSDLを使用する理由:プラットフォームに依存しないデータ交換。
編集:通常の日常生活の例では:
WSDL:レストランに行くと、メニュー項目が表示されます。それらはWSDLです。
プロキシクラス:メニュー項目を確認した後、マインドを作成します(何を注文するかを考えます):したがって、基本的に、WSDLドキュメントに基づいてプロキシクラスを作成します。
SOAP:次に、メニューに基づいて実際に料理を注文するとき:つまり、プロキシクラスを使用して、SOAPを使用して実行されるサービスメソッドを呼び出します。:)
誰かがSOAP / WSDLに言及するたびに、XMLで定義されたオブジェクトとクラスを思い浮かべます...
「SOAPは、PHPクラスと同じように使用します。ただし、この場合、クラスはローカルアプリケーションのファイルシステムではなく、http経由でアクセスされるリモートサイトに存在します。」 ... 「SOAPサービスを別のPHPクラスとして使用することを考えた場合、WSDLドキュメントは、使用可能なすべてのクラスメソッドとプロパティのリストになります。」
..そして誰かがRESTについて話すときはいつも、POST、GET、DELETEのようなHTTPのコマンド(リクエストメソッド)を思い浮かべます
SOAP-> SOAP(シンプルオブジェクトアクセスプロトコル)は、マシン間の相互作用のために作成されたアプリケーションレベルのプロトコルです。プロトコルは標準ルールを定義します。特定のプロトコルを使用しているすべての関係者は、プロトコルルールに従う必要があります。TCPと同様に、トランスポート層で展開され、SOAPプロトコルはアプリケーション層(SOAPをサポートするすべてのアプリケーション-Axis2、.Net)によって認識されます。
WSDL-> SOAPメッセージは、SoapEnevelope-> SoapHeaderおよびSoapBodyで構成されます。メッセージ形式が何であるかを定義していませんか?それがサポートするすべてのトランスポート(HTTP、JMS)は何ですか?この情報がないと、特定のWebサービスを利用したいクライアントがSOAPメッセージを構築するのは困難です。彼らがそうしたとしても、彼らは確信が持てないでしょう、それはいつも働きます。WSDLが救いです。WSDL(Webサービス記述言語)は、SOAPメッセージの操作、メッセージ形式、およびトランスポートの詳細を定義します。
REST-> REST(Representational State Transfer)はトランスポートに基づいています。アクションを対象とするSOAPとは異なり、RESTはリソースをより重視します。RESTはURL(例-http:// {serverAddress} / employees / employeeNumber / 12345)を使用してリソースを検索し、アクションのトランスポートプロトコル(HTTP-GET、POST、PUT、DELETEなど)に依存しますリソースに対して実行されます。RESTサービスは、URLに基づいてリソースを見つけ、トランスポートアクション動詞に基づいてアクションを実行します。建築様式と慣習に基づいています。
SOAPはSimple(sic)Object Access Protocolの略です。これは、HTTPを介してXMLを送信することにより、リモートオブジェクトへのリモートプロシージャコールを実行する方法であることが意図されていました。
WSDLはWebサービス記述言語です。エンドポイントへの「.wsdl」で終わる要求は、使用が期待できる要求と応答を説明するXMLメッセージになります。サービスとクライアント間の契約を説明します。
RESTはHTTPを使用してメッセージをサービスに送信します。
SOAPは仕様であり、RESTはスタイルです。
RESTはエンコードの点で軽量であり、軽量デバイス、つまり厳密でないAPIの場合にはるかに役立ちます。
RESTはフォーマットに依存しません。XML、HTML、JSONのすべてのオプションを使用できます。
RESTは、2ポイントメッセージ転送(RESTはREpresentational State Transferを表すため、当然のことです)の機能を提供します。WSDL/ SOAP対話は、複数ポイントメッセージ対話です。
RESTは、XMLメッセージに新しい拡張機能を必要としません。WSDL/ SOAPではこれが当てはまります。
WSDL / SOAPは複数のトランスポートプロトコルを使用し、RESTはHTTPのみに依存します。したがって、WSDL / SOAPはRESTfulな方法のように使用できますが、単純なリクエストは過度に複雑/重い加重になる可能性があります。
簡単に例えると、RESTは、モトボーイが食べ物を簡単かつ迅速に提供するようなものです。XML拡張されたWSDL / SOAPは、UPS配信に似ており、より構造化された本格的なものですが、コストがかかります。
いくつかの明確な説明(SOAPおよびWSDLの場合)もここにあります。