WSDLは,Webサービスの機能をXML文書として記述するための仕様です。米Ariba,米IBM,米Microsoftなどが中心となって策定を進め,2001年3月に「WSDL 1.1」がWorld Wide Web Consortium(W3C)の正式勧告となりました。WSDL 1.1の仕様書はW3CのWebサイトに公開されています(http://www.w3.org/TR/wsdl)。

 WSDL文書の主な構成要素は,(1)サービスで使用するデータの型を定義する「タイプ(types)要素」,(2)タイプ要素で定義した型をもとに,実際にやり取りするメッセージを定義する「メッセージ(message)要素」,(3)サービスに含まれるメソッドを定義する「ポート・タイプ(portType)要素」,(4)各メソッドへのアクセスに用いる伝送プロトコルを定義する「バインディング(binding)要素」,(5)以上で定義したサービスを実際に公開するアドレスを定義する「サービス(service)要素」――の五つです。このほか,サービス内容などをコメントとして記述した「ドキュメント(document)要素」を含めることもできます。

 WSDL文書はXML形式で記述されるため,人間が読んで理解可能であると同時に,プログラムによる機械的な処理でサービスの仕様を正確に解釈することも可能です。このため,プログラマが直接WSDL文書を読み書きしなければならない場面はあまりありません。

 Webサービスの開発/利用に対応した開発環境の多くは,Webサービスを作成すると同時に,そのWebサービスに対応したWSDL文書のひな型を自動生成してくれます。逆に,既存のWSDL文書を指定すれば,そこに記述された仕様に基づいて,そのサービスを利用するためのパラメータのエンコードやネットワークへのアクセスを代行する「プロキシ」を自動生成してくれます。

 現在,W3Cでは次期WSDL仕様である「WSDL 2.0」の策定が進んでおり,すでに勧告候補となっています。