-
當(dāng)前位置:首頁(yè) > 創(chuàng)意學(xué)院 > 技術(shù) > 專題列表 > 正文
web服務(wù)接口類型(web服務(wù)接口類型是什么)
大家好!今天讓創(chuàng)意嶺的小編來(lái)大家介紹下關(guān)于web服務(wù)接口類型的問(wèn)題,以下是小編對(duì)此問(wèn)題的歸納整理,讓我們一起來(lái)看看吧。
開(kāi)始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁(yè)版、PC客戶端
官網(wǎng):https://ai.de1919.com
本文目錄:
一、webservice有哪些協(xié)議
WebService有哪些協(xié)議?
這個(gè)問(wèn)題問(wèn)的可能會(huì)有點(diǎn)問(wèn)題.
首先:
Web service是一個(gè)平臺(tái)獨(dú)立的,低耦合的,自包含的、基于可編程的web的應(yīng)用程序,可使用開(kāi)放的XML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)子集)標(biāo)準(zhǔn)來(lái)描述、發(fā)布、發(fā)現(xiàn)、協(xié)調(diào)和配置這些應(yīng)用程序,用于開(kāi)發(fā)分布式的互操作的應(yīng)用程序。
Web Service技術(shù), 能使得運(yùn)行在不同機(jī)器上的不同應(yīng)用無(wú)須借助附加的、專門的第三方軟件或硬件, 就可相互交換數(shù)據(jù)或集成。依據(jù)Web Service規(guī)范實(shí)施的應(yīng)用之間, 無(wú)論它們所使用的語(yǔ)言、 平臺(tái)或內(nèi)部協(xié)議是什么, 都可以相互交換數(shù)據(jù)。Web Service是自描述、 自包含的可用網(wǎng)絡(luò)模塊, 可以執(zhí)行具體的業(yè)務(wù)功能。Web Service也很容易部署, 因?yàn)樗鼈兓谝恍┏R?guī)的產(chǎn)業(yè)標(biāo)準(zhǔn)以及已有的一些技術(shù),諸如標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的子集XML、HTTP。Web Service減少了應(yīng)用接口的花費(fèi)。Web Service為整個(gè)企業(yè)甚至多個(gè)組織之間的業(yè)務(wù)流程的集成提供了一個(gè)通用機(jī)制。
他自己本身是一個(gè)技術(shù)的名稱而已
如果您說(shuō)的是.NET的WebService
那么就是SOAP協(xié)議了..XML格式的.
具體的話.
技術(shù)支持
Web Service平臺(tái)需要一套協(xié)議來(lái)實(shí)現(xiàn)分布式應(yīng)用程序的創(chuàng)建。任何平臺(tái)都有它的數(shù)據(jù)表示方法和類型系統(tǒng)。要實(shí)現(xiàn)互操作性,Web Service平臺(tái)必須提供一套標(biāo)準(zhǔn)的類型系統(tǒng),用于溝通不同平臺(tái)、編程語(yǔ)言和組件模型中的不同類型系統(tǒng)。這些協(xié)議有:
XML和XSD
可擴(kuò)展的標(biāo)記語(yǔ)言(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)子集)是Web Service平臺(tái)中表示數(shù)據(jù)的基本格式。除了易于建立和易于分析外,XML主要的優(yōu)點(diǎn)在于它既與平臺(tái)無(wú)關(guān),又與廠商無(wú)關(guān)。XML是由萬(wàn)維網(wǎng)協(xié)會(huì)(W3C)創(chuàng)建,W3C制定的XML SchemaXSD 定義了一套標(biāo)準(zhǔn)的數(shù)據(jù)類型,并給出了一種語(yǔ)言來(lái)擴(kuò)展這套數(shù)據(jù)類型。
Web Service平臺(tái)是用XSD來(lái)作為數(shù)據(jù)類型系統(tǒng)的。當(dāng)你用某種語(yǔ)言如VB. NET或C# 來(lái)構(gòu)造一個(gè)Web Service時(shí),為了符合Web Service標(biāo)準(zhǔn),所有你使用的數(shù)據(jù)類型都必須被轉(zhuǎn)換為XSD類型。如想讓它使用在不同平臺(tái)和不同軟件的不同組織間傳遞,還需要用某種東西將它包裝起來(lái)。這種東西就是一種協(xié)議,如 SOAP。
xml web service[2]
SOAP
SOAP即簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(Simple Object Access Protocol),它是用于交換XML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)子集)編碼信息的輕量級(jí)協(xié)議。它有三個(gè)主要方面:XML-envelope為描述信息內(nèi)容和如何處理內(nèi)容定義了框架,將程序?qū)ο缶幋a成為XML對(duì)象的規(guī)則,執(zhí)行遠(yuǎn)程過(guò)程調(diào)用(RPC)的約定。SOAP可以運(yùn)行在任何其他傳輸協(xié)議上。例如,你可以使用 SMTP,即因特網(wǎng)電子郵件協(xié)議來(lái)傳遞SOAP消息,這可是很有誘惑力的。在傳輸層之間的頭是不同的,但XML有效負(fù)載保持相同。
Web Service 希望實(shí)現(xiàn)不同的系統(tǒng)之間能夠用“軟件-軟件對(duì)話”的方式相互調(diào)用,打破了軟件應(yīng)用、網(wǎng)站和各種設(shè)備之間的格格不入的狀態(tài),實(shí)現(xiàn)“基于Web無(wú)縫集成”的目標(biāo)。
WSDL
Web Service描述語(yǔ)言WSDL 就是用機(jī)器能閱讀的方式提供的一個(gè)正式描述文檔而基于XML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)子集)的語(yǔ)言,用于描述Web Service及其函數(shù)、參數(shù)和返回值。因?yàn)槭腔赬ML的,所以WSDL既是機(jī)器可閱讀的,又是人可閱讀的。
UDDI
UDDI 的目的是為電子商務(wù)建立標(biāo)準(zhǔn);UDDI是一套基于Web的、分布式的、為Web Service提供的、信息注冊(cè)中心的實(shí)現(xiàn)標(biāo)準(zhǔn)規(guī)范,同時(shí)也包含一組使企業(yè)能將自身提供的Web Service注冊(cè),以使別的企業(yè)能夠發(fā)現(xiàn)的訪問(wèn)協(xié)議的實(shí)現(xiàn)標(biāo)準(zhǔn)。
調(diào)用RPC與消息傳遞
Web Service本身其實(shí)是在實(shí)現(xiàn)應(yīng)用程序間的通信。我們有兩種應(yīng)用程序通信的方法:RPC遠(yuǎn)程過(guò)程調(diào)用 和消息傳遞。使用RPC的時(shí)候,客戶端的概念是調(diào)用服務(wù)器上的遠(yuǎn)程過(guò)程,通常方式為實(shí)例化一個(gè)遠(yuǎn)程對(duì)象并調(diào)用其方法和屬性。RPC系統(tǒng)試圖達(dá)到一種位置上的透明性:服務(wù)器暴露出遠(yuǎn)程對(duì)象的接口,而客戶端就好像在本地使用的這些對(duì)象的接口一樣,這樣就隱藏了底層的信息,客戶端也就根本不需要知道對(duì)象是在哪臺(tái)機(jī)器上。
軟件支持
操作系統(tǒng)離不開(kāi)豐富的應(yīng)用軟件的支持。同樣,Web Service這項(xiàng)技術(shù)只有通過(guò)日益廣泛的應(yīng)用才能體現(xiàn)出其價(jià)值,比較流行的實(shí)現(xiàn)方法是使用.NET 和 Java兩種技術(shù),并且兩種實(shí)現(xiàn)方法可以互相操作;如今我們已經(jīng)可以看到使用微軟、Oracle、SUN、Borland等不同廠商的Web Service構(gòu)建工具建立的Web Service應(yīng)用。
微軟.NET
微軟的.NET技術(shù)應(yīng)該算是時(shí)下最為流行的Web Service 開(kāi)發(fā)技術(shù)。首先因?yàn)槠涔驹谝郧跋鄳?yīng)的產(chǎn)品就占有相當(dāng)大的市場(chǎng)份額,以至使新推出的.NET得以有比較穩(wěn)定的用戶群;其次也是更重要的是 .NET平臺(tái)不僅延續(xù)了微軟一貫的編程風(fēng)格,而且還增加了許多支持Web 服務(wù)的關(guān)鍵性技術(shù),使得.NET在操作的簡(jiǎn)單性和執(zhí)行的穩(wěn)定性,高效性上達(dá)到了一個(gè)非常好的結(jié)合。
微軟的Visual Studio. NET便是一個(gè)便于 Web 服務(wù)的開(kāi)發(fā)工具。微軟的目標(biāo)是,將其新編程語(yǔ)言——C#作為Web Service的首選語(yǔ)言。雖然C#看起來(lái)與Java類似,但是還有一些Java中沒(méi)有的獨(dú)特的功能。.NET技術(shù)中用于Web Service 開(kāi)發(fā)的主要工具是ASP. NET。從技術(shù)上說(shuō),ASP. net 提供了一些超出ASP以前版本的優(yōu)點(diǎn)(例如:代碼和HTML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用)的分離,與腳本語(yǔ)言相比較,對(duì)“真正”的編程語(yǔ)言如 C# 的支持)。
IBM的WebSphere
IBM公司是業(yè)界第一家能夠提供全面支持Web服務(wù)的電子商務(wù)基礎(chǔ)設(shè)施中間件的公司。通過(guò)多年來(lái)與W3C(The World Wide Web Consortium)的共同努力,包括DB2、Lotus、Tivoli 和WebSphere在內(nèi)的所有IBM軟件都實(shí)現(xiàn)了對(duì)SOAP、WSDL、UDDI、Linux、XML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)子集)、J2EE等開(kāi)放技術(shù)和標(biāo)準(zhǔn)的全面支持。
IBM公司的WebSphere也是比較好的基礎(chǔ)架構(gòu)軟件開(kāi)發(fā)平臺(tái)。WebSphere軟件平臺(tái)及開(kāi)發(fā)工具包括WebSphere Studio Application DeveloperWSAD 基于J2EE、XML 和Web服務(wù)等開(kāi)放標(biāo)準(zhǔn),并具備 IBM 在可靠性、擴(kuò)展性和安全性上的主要優(yōu)勢(shì)。WebSphere 是 IBM 在 Web Services策略中的核心平臺(tái),它支持所有開(kāi)發(fā)、發(fā)布、部署 Web Services應(yīng)用所必需的開(kāi)放標(biāo)準(zhǔn)和技術(shù),包括 UDDI,SOAP,J2EE,WSDL,和對(duì) XML 技術(shù)集成的增強(qiáng),這使得它在全球有很多用戶。
Borland的JBuilder
Borland公司在 JBuilder7中,用戶可以用其Borland Web Services Kit for Java和Borland JBuilder MobileSet 3進(jìn)行更快捷地開(kāi)發(fā)Web Service和無(wú)線應(yīng)用。這樣將使開(kāi)發(fā)者能夠在同一個(gè)開(kāi)發(fā)環(huán)境中輕松地創(chuàng)建和集成Web Service。新推出的JBuidler8更是針對(duì)Web Service開(kāi)發(fā)更提供了方便和高效的方法。
總之,在Web Service開(kāi)發(fā)上,.NET 和Java都是很好的選擇,盡管兩者都有一些需要完善的地方,但是它們還是最好的開(kāi)發(fā)手段和技術(shù)。具體選擇哪種開(kāi)發(fā)工具,也是仁者見(jiàn)仁,智者見(jiàn)智的問(wèn)題。從根本上說(shuō),這兩種方法沒(méi)有孰優(yōu)孰劣的問(wèn)題,只是根據(jù)使用者對(duì)這兩種方法的掌握程度和對(duì)具體語(yǔ)言的偏愛(ài)程度來(lái)決定。
二、使用什么注解可以聲明webservice業(yè)務(wù)接口
Web Service 元數(shù)據(jù)注釋(JSR 181)
@WebService
1、serviceName: 對(duì)外發(fā)布的服務(wù)名,指定 Web Service 的服務(wù)名稱:wsdl:service。缺省值為 Java 類的簡(jiǎn)單名稱 + Service。(字符串)
2、endpointInterface: 服務(wù)接口全路徑, 指定做SEI(Service EndPoint Interface)服務(wù)端點(diǎn)接口
3、name:此屬性的值包含XML Web Service的名稱。在默認(rèn)情況下,該值是實(shí)現(xiàn)XML Web Service的類的名稱,wsdl:portType 的名稱。缺省值為 Java 類或接口的非限定名稱。(字符串
4、portName: wsdl:portName。缺省值為 WebService.name+Port。
5、targetNamespace:指定你想要的名稱空間,認(rèn)是使用接口實(shí)現(xiàn)類的包名的反綴
6、wsdlLocation:指定用于定義 Web Service 的 WSDL 文檔的 Web 地址。Web 地址可以是相對(duì)路徑或絕對(duì)路徑。(字符串)
注意:實(shí)現(xiàn)類上可以不添加Webservice注解
@WebMethod
注釋表示作為一項(xiàng) Web Service 操作的方法,將此注釋應(yīng)用于客戶機(jī)或服務(wù)器服務(wù)端點(diǎn)接口(SEI)上的方法,或者應(yīng)用于 JavaBeans 端點(diǎn)的服務(wù)器端點(diǎn)實(shí)現(xiàn)類。
要點(diǎn):
僅支持在使用 @WebService 注釋來(lái)注釋的類上使用 @WebMethod 注釋
1、operationName:指定與此方法相匹配的wsdl:operation 的名稱。缺省值為 Java 方法的名稱。(字符串)
2、action:定義此操作的行為。對(duì)于 SOAP 綁定,此值將確定 SOAPAction 頭的值。缺省值為 Java 方法的名稱。(字符串)
3、exclude:指定是否從 Web Service 中排除某一方法。缺省值為 false。(布爾值)
@Oneway
注釋將一個(gè)方法表示為只有輸入消息而沒(méi)有輸出消息的 Web Service 單向操作。
將此注釋應(yīng)用于客戶機(jī)或服務(wù)器服務(wù)端點(diǎn)接口(SEI)上的方法,或者應(yīng)用于 JavaBeans 端點(diǎn)的服務(wù)器端點(diǎn)實(shí)現(xiàn)類
@WebParam
注釋用于定制從單個(gè)參數(shù)至 Web Service 消息部件和 XML 元素的映射。
將此注釋應(yīng)用于客戶機(jī)或服務(wù)器服務(wù)端點(diǎn)接口(SEI)上的方法,或者應(yīng)用于 JavaBeans 端點(diǎn)的服務(wù)器端點(diǎn)實(shí)現(xiàn)類。
1、name :參數(shù)的名稱。如果操作是遠(yuǎn)程過(guò)程調(diào)用(RPC)類型并且未指定partName 屬性,那么這是用于表示參數(shù)的 wsdl:part 屬性的名稱。
如果操作是文檔類型或者參數(shù)映射至某個(gè)頭,那么 -name 是用于表示該參數(shù)的 XML 元素的局部名稱。如果操作是文檔類型、
參數(shù)類型為 BARE 并且方式為 OUT 或 INOUT,那么必須指定此屬性。(字符串)
2、partName:定義用于表示此參數(shù)的 wsdl:part屬性的名稱。僅當(dāng)操作類型為 RPC 或者操作是文檔類型并且參數(shù)類型為BARE 時(shí)才使用此參數(shù)。(字符串)
3、targetNamespace:指定參數(shù)的 XML 元素的 XML 名稱空間。當(dāng)屬性映射至 XML 元素時(shí),僅應(yīng)用于文檔綁定。缺省值為 Web Service 的 targetNamespace。(字符串)
4、mode:此值表示此方法的參數(shù)流的方向。有效值為 IN、INOUT 和 OUT。(字符串)
5、header:指定參數(shù)是在消息頭還是消息體中。缺省值為 false。(布爾值)
@WebResult
注釋用于定制從返回值至 WSDL 部件或 XML 元素的映射。將此注釋應(yīng)用于客戶機(jī)或服務(wù)器服務(wù)端點(diǎn)接口(SEI)上的方法,或者應(yīng)用于 JavaBeans 端點(diǎn)的服務(wù)器端點(diǎn)實(shí)現(xiàn)類。
1、name:當(dāng)返回值列示在 WSDL 文件中并且在連接上的消息中找到該返回值時(shí),指定該返回值的名稱。對(duì)于 RPC 綁定,這是用于表示返回值的 wsdl:part屬性的名稱。對(duì)于文檔綁定,-name參數(shù)是用于表示返回值的 XML 元素的局部名。對(duì)于 RPC 和 DOCUMENT/WRAPPED 綁定,缺省值為 return。對(duì)于 DOCUMENT/BARE 綁定,缺省值為方法名 + Response。(字符串)
2、targetNamespace:指定返回值的 XML 名稱空間。僅當(dāng)操作類型為 RPC 或者操作是文檔類型并且參數(shù)類型為 BARE 時(shí)才使用此參數(shù)。(字符串)
3、header:指定頭中是否附帶結(jié)果。缺省值為false。(布爾值)
4、partName:指定 RPC 或 DOCUMENT/BARE 操作的結(jié)果的部件名稱。缺省值為@WebResult.name。(字符串)
@HandlerChain
注釋用于使 Web Service 與外部定義的處理程序鏈相關(guān)聯(lián)。只能通過(guò)對(duì) SEI 或?qū)崿F(xiàn)類使用 @HandlerChain 注釋來(lái)配置服務(wù)器端的處理程序。
但是可以使用多種方法來(lái)配置客戶端的處理程序??梢酝ㄟ^(guò)對(duì)生成的服務(wù)類或者 SEI 使用 @HandlerChain 注釋來(lái)配置客戶端的處理程序。此外,可以按程序在服務(wù)上注冊(cè)您自己的 HandlerResolver 接口實(shí)現(xiàn),或者按程序在綁定對(duì)象上設(shè)置處理程序鏈。
1、file:指定處理程序鏈文件所在的位置。文件位置可以是采用外部格式的絕對(duì) java.net.URL,也可以是類文件中的相對(duì)路徑。(字符串)
2、name:指定配置文件中處理程序鏈的名稱。
來(lái)源:http://yufenfei.iteye.com/blog/1685249
三、C#中 webservice接口的定義
說(shuō)了一大堆,沒(méi)明白你在說(shuō)什么!直接把原題貼出來(lái)吧!?。?
四、js調(diào)用webservice接口
js 主要用于做客戶端處理,不與服務(wù)器打交道,你這個(gè)是與服務(wù)器端打交道了,屬于特殊情況。你可以用 createobject 調(diào)用組件,從而實(shí)現(xiàn)與服務(wù)端通信。AJAX 、 JS 的ADO 數(shù)據(jù)庫(kù)連接、JSON都是這樣做的。
以上就是關(guān)于web服務(wù)接口類型相關(guān)問(wèn)題的回答。希望能幫到你,如有更多相關(guān)問(wèn)題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。
推薦閱讀:
手機(jī)上怎么安裝wechat(手機(jī)上怎么安裝OTG)
WeChatDownloader(WeChatDownloader在電腦怎么安裝)