WSDL : Web Services Description Langurage
* Web Services Description Langurage : Webサービス記述言語 * Webサービスの定義を行うXML文書 * 以下の事項を定義してある [1] Webサービスが、どこにあるのか [2] Webサービスが、どんなフォーマットのメッセージを使って利用するのか [3] Webサービスが、どんな通信プロトコルを使ってメッセージをやり取りするのか
利点
* 開発ツールにWSDL文書を読み込ませることによって、Webサービスを呼び出すモジュールのコードを自動生成できる →Axisには、WSDLからWebサービス・クライアント用のクラスを自動生成する機能が用意されている →WSDLからJavaのクラスを生成するには、「WSDL2Java」というツールを使う
WSDL構成要素
http://www.atmarkit.co.jp/ait/articles/0301/23/news001_3.htmlの「WSDLファイルの構造」が分かりやすい。http://www.atmarkit.co.jp/ait/articles/0305/14/news001.html
http://www.atmarkit.co.jp/ait/articles/0303/18/news003.html
も見ておくといいかも。 * WSDLファイルは大きく5つの部分に分かれている
(0) 全体の構造
<?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="">http://schemas.xmlsoap.org/wsdl/"> 【(1)-(4)を記述】 </wsdl:definitions> * wsdl:definitions要素 => WSDL文書の最上位要素
(1) メッセージ定義
* SOAPでやりとりされるメッセージ (message)の種類とそのデータ型 (types)を定義 * wsdl:types要素 => メッセージのフォーマットを定義する際に使用する型を定義する。
(2) ポートタイプ定義
* ポートタイプ (portType)には、抽象操作のセットを定義 *(1)で定義されたメッセージがどのような操作(operation)があるかを定義 * 操作(operation)には、入力(input)と出力(output)になっているを定義
(3) バインディング定義
* (1)(2)の機能がの具体的なプロトコルとデータ形式を定義 * 種類は「RPC指向(リモート・プロシージャ型)」「document指向(文書)」がある
(4) サービス定義
* ポート(port)は、(3)で定義したバインディング情報を持つWebサービスがどのURLにて利用できるかを定義 * サービス (service)は、関連するポートを集約したもの
参考文献
http://www.wakhok.ac.jp/~sakamoto/webservice/web_service_c3.htmlhttp://www.atmarkit.co.jp/ait/articles/0303/11/news002_3.html
http://www.atmarkit.co.jp/ait/articles/0301/23/news001_3.html
http://d.hatena.ne.jp/modalblue/20080817/1218971413
http://www.atmarkit.co.jp/ait/articles/0305/14/news001.html
http://www.atmarkit.co.jp/ait/articles/0303/18/news003.html
* シンプルでいい
http://j-caw.co.jp/blog/?p=1477
* これもいい
http://d0ec7852ef61.seesaa.net/article/114453462.html