SOAPって何・・・?WSDLとかいうのもある・・・
仕事で外部とやり取りをするAPIの設計書に「SOAP通信で行う」「WSDLがどうのこうの~」という記述があるのを発見して「何すかそれ・・・石鹸?しかもWSDLに至っては何も分からん・・・」となったので調べました。
SOAP
- 「Simple Object Access Protocol」の略で、ネットワーク越しにサービスを呼び出すためのデータのやり取りを決めた仕様のこと(=APIの仕様の一つ)。
同様にAPIの仕様の一つである「REST」と比較されることが多いみたいです。 - SOAPでは、HTTPのPOSTメソッドを利用してXMLデータのやり取りを行う。(GETも利用可能らしい)
WSDL
- 「Web Services Description Language」の略で、Webサービス=WebAPIの仕様を記述するためのデータ形式のこと。SOAPと同時によく利用されるらしい。
- WSDLはXMLで記述されており、あるWebAPIがどんなメソッドを公開しているのか、アクセスすべきURIはどこか、渡すべきパラメータは何か、戻り値は何か、利用すべき名前空間は何か、といったことが記述されている。
- WSDLを読み込むことで、リクエストデータを自分で生成しなくても、どのメソッドを呼び出して、どのパラメータに何を渡すかを指定すれば、自動的にリクエストデータを生成してAPIを利用できるようになるという便利なモノ。
##### 「SOAP通信を使ったAPIを作って外部APIとデータのやり取りをして、その際にWSDLを使ってより簡単にリクエストデータを作るよ!」 ということだったんですね!これでまた一つ知識を得た!