1. 程式人生 > >WebService詳細教程

WebService詳細教程

本文轉載:

WebService,顧名思義就是基於Web的服務。它使用Web(HTTP)方式,接收和響應外部系統的某種請求,接下來通過本文給大家介紹WebService教程詳解,對webservice教程感興趣的朋友一起學習吧。

Web Services 可以將應用程式轉換為網路應用程式。

通過使用 Web Services,您的應用程式可以向全世界釋出資訊,或提供某項功能。

Web Services 可以被其他應用程式使用。

通過 Web Services,您的會計部門的 Win 2k 伺服器可以與 IT 供應商的 UNIX 伺服器相連線。

基本的 Web Services 平臺是 XML+HTTP。

Web services 使用 XML 來編解碼資料,並使用 SOAP 來傳輸資料。

什麼是webService

WebService,顧名思義就是基於Web的服務。它使用Web(HTTP)方式,接收和響應外部系統的某種請求。從而實現遠端呼叫.

1:從WebService的工作模式上理解的話,它跟普通的Web程式(比如ASP、JSP等)並沒有本質的區別,都是基於HTTP傳輸協議的程式。 

2:WebService所使用的資料均是基於XML格式的。目前標準的WebService在資料格式上主要採用SOAP協議。SOAP協議實際上就是一種基於XML編碼規範的文字協議。

webService的技術支援

Web Service平臺需要一套協議來實現分散式應用程式的建立。任何平臺都有它的資料表示方法和型別系統。要實現互操作性,Web Service平臺必須提供一套標準的型別系統,用於溝通不同平臺、程式語言和元件模型中的不同型別系統。目前這些協議有:

XML和XSD

  可擴充套件的標記語言XML 是Web Service平臺中表示資料的基本格式。除了易於建立和易於分析外,XML主要的優點在於它既與平臺無關,又與廠商無關。XML是由全球資訊網協會(W3C)建立,W3C制定的XML SchemaXSD 定義了一套標準的資料型別,並給出了一種語言來擴充套件這套資料型別。

  Web Service平臺是用XSD來作為資料型別系統的。當你用某種語言如VB. NET或C# 來構造一個Web Service時,為了符合Web Service標準,所有你使用的資料型別都必須被轉換為XSD型別。如想讓它使用在不同平臺和不同軟體的不同組織間傳遞,還需要用某種東西將它包裝起來。這種東西就是一種協議,如 SOAP。

SOAP

  SOAP即簡單物件訪問協議(Simple Object Access Protocal),它是用於交換XML編碼資訊的輕量級協議。它有三個主要方面:XML-envelope為描述資訊內容和如何處理內容定義了框架,將程式物件編碼成為XML物件的規則,執行遠端過程呼叫(RPC)的約定。SOAP可以執行在任何其他傳輸協議上。例如,你可以使用 SMTP,即因特網電子郵件協議來傳遞SOAP訊息,這可是很有誘惑力的。在傳輸層之間的頭是不同的,但XML有效負載保持相同。

  Web Service 希望實現不同的系統之間能夠用“軟體-軟體對話”的方式相互呼叫,打破了軟體應用、網站和各種裝置之間的格格不入的狀態,實現“基於Web無縫整合”的目標。

WSDL

  Web Service描述語言WSDL 就是用機器能閱讀的方式提供的一個正式描述文件而基於XML的語言,用於描述Web Service及其函式、引數和返回值。因為是基於XML的,所以WSDL既是機器可閱讀的,又是人可閱讀的。

UDDI

  UDDI 的目的是為電子商務建立標準;UDDI是一套基於Web的、分散式的、為Web Service提供的、資訊註冊中心的實現標準規範,同時也包含一組使企業能將自身提供的Web Service註冊,以使別的企業能夠發現的訪問協議的實現標準。 呼叫RPC與訊息傳遞

  Web Service本身其實是在實現應用程式間的通訊。我們現在有兩種應用程式通訊的方法:RPC遠端過程呼叫 和訊息傳遞。使用RPC的時候,客戶端的概念是呼叫伺服器上的遠端過程,通常方式為例項化一個遠端物件並呼叫其方法和屬性。RPC系統試圖達到一種位置上的透明性:伺服器暴露出遠端物件的介面,而客戶端就好像在本地使用的這些物件的介面一樣,這樣就隱藏了底層的資訊,客戶端也就根本不需要知道物件是在哪臺機器上。

如何釋出一個WebService?

1、用Jdk1.6.0_21以後的版本釋出一個WebService服務.並通過位址列檢視它的wsdl文件. 

2、通過wsimport生成客戶端程式碼,呼叫並檢視執行的結果.(學會如何呼叫是我們的重點).

需要注意的是,jdk1.6._07以後jdk版本釋出WebService時必須要完整的對程式碼進行註解,如果使用的是jdk1.6.0_21以後版本,因為它已經內含了ws2.1所以,可以只對類新增@WebService的註解. 

以下是兩段不同的程式碼:

在jdk1.6.0_13的版本上釋出的ws:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 package com.itcast; import javax.jws.WebMethod; import javax.jws.WebService; import javax.jws.soap.SOAPBinding; import javax.jws.soap.SOAPBinding.Style; import javax.xml.ws.Endpoint; @WebService (targetNamespace= "http://loalhost:9999/helloworld" ) @SOAPBinding (style=Style.RPC) //只支援RPC的訊息風格 public class  HelloWorld { //以下通過@WebMethod註解,對外公開方法 @WebMethod public String sayHello(){ return "HelloWorld" ; } public static  void  main(String[] args) { Endpoint.publish( "http://localhost:9999/helloworld" , new HelloWorld()); } }

2:以下是在jdk1.6.0_24上釋出的WebService程式碼: 

?
1 2 3 4 5 6 7 8 9 10 11 12 package com.itcast; import javax.jws.WebService; import javax.xml.ws.Endpoint; @WebService //注意只有此一個註解,此註解也是必須的,預設的SOAP訊息風格為:DOCUMENT public class HelloWorld { public String sayHello(){ return "HelloWorld" ; } public static void main(String[] args) { Endpoint.publish( "http://localhost:9999/helloworld" , new HelloWorld()); } }

第一個WebService服務 

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

相關推薦

WebService詳細教程

本文轉載: WebService,顧名思義就是基於Web的服務。它使用Web(HTTP)方式,接收和響應外部系統的某種請求,接下來通過本文給大家介紹WebService教程詳解,對webservice教程感興趣的朋友一起學習吧。 Web Services 可以將應用程式轉換為網路應用程式。

Git詳細教程

變量 版本控制 為什麽 點擊 臨時 每次 ase 出現 註意 分布式版本控制系統--git 一.什麽是Git 1.Git是什麽 Git是目前世界上最先進的分布式版本控制系統(沒有之一)。 實際上版本控制系統有如下幾個: 1) CVS 2) SVN 3) Git 這個概念中

聯想e431筆記本更改硬盤模式bios設置的詳細教程

ima 畫面 e431 選項 方向鍵 快捷 方向 src 技術 用硬盤安裝系統,就要進入bios,將硬盤改為第一啟動項即可重裝系統。不同品牌的電腦,它的bios設置方法也就不同。那麽,聯想e431筆記本要如何更改硬盤模式呢?今天U大俠小編就和大家分享聯想e431筆記本更改硬

IntelliJ Idea 常用操作詳細教程

lips 缺點 優缺點 intellij 常用操作 程序 兩個 參考 tel 近幾年IntelliJ Idea的迅速崛起大家是有目共睹的,但是eclipse依然是大家耳熟能詳的Java IDE,也是大家以前最常用的IDE,如今好多程序員轉戰IntelliJ Idea(包括我

Git詳細教程(3)---結合gitHub使用

之間 方便 結果 最新 strong ini 編輯 repos github 1.GitHub的基本使用 GitHub就是一個網站,本身是基於Git,可以完成版本控制,可以托管代碼。 英文版的。 在使用GitHub之前,首先需要註冊一個賬號。 登錄,就可以完成相關的

nodejs零基礎詳細教程1:安裝+基礎概念

img res 安裝過程 pkg 實時 linkedin 圖標 過程 好的 第一章 建議學習時間2小時 課程共10章 學習方式:詳細閱讀,並手動實現相關代碼 學習目標:此教程將教會大家 安裝Node、搭建服務器、express、mysql、mongodb、編寫後臺業務邏輯

node.js零基礎詳細教程(4):node.js事件機制、node異步IO操作

nod server nbsp node i++ 兩個 con 錯誤 定時器 第四章 建議學習時間3小時 課程共10章 學習方式:詳細閱讀,並手動實現相關代碼 學習目標:此教程將教會大家 安裝Node、搭建服務器、express、mysql、mongodb、編寫後臺業務邏

node.js零基礎詳細教程(5):express 、 路由

講解 打開 .com json -1 mod 設置圖 後臺 var 第五章 建議學習時間4小時 課程共10章 學習方式:詳細閱讀,並手動實現相關代碼 學習目標:此教程將教會大家 安裝Node、搭建服務器、express、mysql、mongodb、編寫後臺業務邏輯、編

node.js零基礎詳細教程(6):mongodb數據庫操作

insert lte 數組 執行 cmd命令行 tables 頁面 down 切換 第六章 建議學習時間4小時 課程共10章 學習方式:詳細閱讀,並手動實現相關代碼 學習目標:此教程將教會大家 安裝Node、搭建服務器、express、mysql、mongodb、編寫

yii2 rbac權限控制之菜單menu詳細教程

cheng gda zhong ssl print ads xiv sheng bce %E5%90%91%E9%87%8F%E8%87%AA%E5%9B%9E%E5%BD%92%E6%A8%A1%E5%9E%8BVS%E9%A3%8E%E9%99%A9%E4%BB%B7%

node.js零基礎詳細教程(7):node.js操作mongodb,及操作方法的封裝

font 裏的 ges 格式 上進 ins 方法 回調函數 方式 第七章 建議學習時間4小時 課程共10章 學習方式:詳細閱讀,並手動實現相關代碼 學習目標:此教程將教會大家 安裝Node、搭建服務器、express、mysql、mongodb、編寫後臺業務邏輯、編寫接口

CentOS下安裝XAMPP詳細教程(轉)

文件 sql user roc method 提示 ges 教程 comment 【原文】http://blog.csdn.net/hel12he/article/details/49781813 現在PHP的集成運行環境越來越多,個人比較喜歡XAMPP,更新速度快,好

Hibernate詳細教程

settings postgres unit false change add tee idle urn 一、搭建Hibernate環境 1.在src目錄下創建hibernate.cfg.xml配置文件 PS:文件的名字不能改! <?xml versio

從Git到GitHub,詳細教程

文件夾 想象 可能 機制 安裝完成 公開 style run 離線 眾所周知,一個稍微有點規模的項目,都不可能是一個人單打獨鬥完成的(能完成的大神別打我),所以,一個高效的項目團隊就需要一個NB的工具來進行有效的交流(曾經有人問我企鵝不就可以嗎,我竟無言以對),今天就把我學

vsftpd 安裝配置詳細教程

ota 復制 名稱 客戶端連接 conf ice cal ftp服務器 cannot linux下ftp軟件不少,大致特點:<br /> wu-ftp:比較老牌,但針對它的攻擊比較多,設置比較麻煩,但功能比較強大。<br /> vsftpd:功能強大

詳細教程:將本地項目上傳到github

--help ror list led publickey id_rsa -h 一行 ble   作為 一個工程師,將本地項目上傳到github進行備份和分享是一個不錯的技能,一來可以方便以後的工作,二來可以分享自己的成果。所以下面本人詳細教大家如何將本地項目上傳到gith

VPS服務器購買和搭建SSR詳細教程

僅支持 src user ins 用戶名 style lib block image 自建ss服務器教程 教程很簡單,整個教程分三步: 第一步:購買VPS服務器 第二步:一鍵部署VPS服務器 第三步:一鍵加速VPS服務器 (谷歌BBR加速或銳速加速;對速度要求不高的話,此步

搭建SVN服務器詳細教程

目錄 全連接 conn 選擇 如何 下載地址 建議 www. 一個 搭建SVN服務器詳細教程 本教程會從最基本的下載安裝到上傳代碼,下載代碼這條線來詳細講述如何完成SVN服務器的搭建 下載並安裝VisualSVN server 下載並安裝TortoiseSVN 導入項目

ThinkJS框架入門詳細教程(一)開發環境

install devel 版本 開發 conf doc 瀏覽器 打開 變量 一、前端標配環境 1、nodeJS正確安裝,可以參考:http://www.cnblogs.com/chengxs/p/6221393.html 2、git正確安裝,可以參考:http://w

CentOS6.5安裝MySQL5.7詳細教程(本人6.3也行)

過程 centos 6 yum安裝 -1 兩個文件 bin gre 開機 bsp 本文參考http://www.cnblogs.com/lzj0218/p/5724446.html 主要參考博文: https://segmentfault.com/a/119000000