WSDL
網(wǎng)絡(luò)服務(wù)描述語言是Web Service的描述語言,它包含一系列描述某個(gè)web service的定義。
WSDL 文檔是利用這些主要的元素來描述某個(gè) web service 的: 元素定義 web service 執(zhí)行的操作 <message> web service 使用的消息 <types> web service 使用的數(shù)據(jù)類型 <binding> web service 使用的通信協(xié)議 一個(gè) WSDL 文檔的主要結(jié)構(gòu)是類似這樣的: <definitions> <types> definition of types........ </types> <message> definition of a message.... </message> <portType> definition of a port....... </portType> <binding> definition of a binding.... </binding> </definitions>WSDL 文檔可包含其它的元素,比如 extension 元素,以及一個(gè) service 元素,此元素可把若干個(gè) web services 的定義組合在一個(gè)單一的 WSDL 文檔中。 如需完整的語法概述,請(qǐng)?jiān)L問 WSDL 語法 這一節(jié)。同樣要記住,與服務(wù)交互所需的所有細(xì)節(jié)都位于其 WSDL 文件中。 ●WSDL 支持的消息交換方式 WSDL支持 4 種消息交換方式: 1)單向(One-way):服務(wù)端接收消息; 2)請(qǐng)求響應(yīng)(Request-response):服務(wù)端點(diǎn)接收請(qǐng)求消息,然后發(fā)送響應(yīng)消息; 3)要求應(yīng)答(Solicit-response):服務(wù)訪問端發(fā)送要求消息,然后接收應(yīng)答消息。 4)通知(Notification):服務(wù)訪問端點(diǎn)發(fā)送通知消息。 WSDL 文檔可以分為兩部分。頂部分由抽象定義組成,而底部分則由具體描述組成[3]??。 抽象部分以獨(dú)立于平臺(tái)和語言的方式定義 SOAP 消息,它們并不包含任何隨機(jī)器或語言而變的元素。這就定義了一系列服務(wù),截然不同的網(wǎng)站都可以實(shí)現(xiàn)。隨網(wǎng)站而異的東西如序列化便歸入底部分,因?yàn)樗唧w的定義。 l 抽象定義 Types 獨(dú)立與機(jī)器和語言的類型定義 Messages 包括函數(shù)參數(shù)(輸入與輸出分開)或文檔描述 PortTypes 引用消息部分中消息定義來描述函數(shù)簽名(操作名、輸入?yún)?shù)、輸出參數(shù)) 2 具體定義 Bindings PortTypes部分的每一操作在此綁定實(shí)現(xiàn) Services 確定每一綁定的端口地址 怎樣向別人介紹你的 web service 有什么功能,以及每個(gè)函數(shù)調(diào)用時(shí)的參數(shù)呢?你可能會(huì)自己寫一套文檔,你甚至可能會(huì)口頭上告訴需要使用你的 web service 的人。這些非正式的方法至少都有一個(gè)嚴(yán)重的問題:當(dāng)程序員坐到電腦前,想要使用你的 web service 的時(shí)候,他們的工具(如 Visual Studio)無法給他們提供任何幫助,因?yàn)檫@些工具根本就不了解你的 web service。解決方法是:用機(jī)器能閱讀的方式提供一個(gè)正式的描述文檔。web service 描述語言 (WSDL) 就是這樣一個(gè)基于 XML 的語言,用于描述 web service 及其函數(shù)、參數(shù)和返回值。因?yàn)槭腔?XML 的,所以 WSDL 既是機(jī)器可閱讀的,又是人可閱讀的,這將是一個(gè)很大的好處。一些最新的開發(fā)工具既能根據(jù)你的 web service 生成 WSDL 文檔,又能導(dǎo)入 WSDL 文檔,生成調(diào)用相應(yīng) web service 的代碼。
總結(jié)
- 上一篇: 同步系统和北京时间
- 下一篇: Webservice soap wsdl