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