Webservice WSDL三種服務訪問的方式

2021-09-24 09:23:15 字數 2700 閱讀 1345

用soapui試了下wsdl的測試,但還是不知道webservice和wsdl的具體對應意義,找了篇文件了解下,原url見上。

一 webservice

官方定義:它是一種構建應用程式的普遍模型,可以在任何支援網路通訊的作業系統中實施執行;它是一種新的web應用程式分支,是自包含、自描述、模組化的應用,可以發布、定位、通過web呼叫。webservice是乙個應用元件,它邏輯性的為其他應用程式提供資料與服務.各應用程式通過網路協議和規定的一些標準資料格式(http,xml,soap)來訪問webservice,通過webservice內部執行得到所需結果.web service可以執行從簡單的請求到複雜商務處理的任何功能。一旦部署以後,其他webservice應用程式可以發現並呼叫它部署的服務。

它使用web(http)方式,接收和響應外部系統的某種請求。從而實現遠端呼叫.  

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

2:webservice所使用的資料均是基於xml格式的。目前標準的webservice在資料格式上主要採用soap協議。

soap(****** object access protocol):簡單物件訪問協議是在分散或分布式的環境中交換資訊並執行遠端過程呼叫的輕量級協議,是乙個基於xml的協議。使用soap,不用考慮任何特定的傳輸協議(最常用的還是http協議),可以允許任何型別的物件或**,在任何平台上,以任何一種語言相互通訊。

wsdl:web services description language的縮寫,是乙個用來描述web服務和說明如何與web服務通訊的xml語言。為使用者提供詳細的介面說明書。即外部對於webservice的呼叫方式。

webservice和webproject的區別:

1 web service 是可以做介面訪問其他web service的。打個比方你開啟360上面會有天氣預報,那就是webservce,360**呼叫中國氣象**的資料介面獲得資料的,是兩個不同系統之間的相互呼叫。需要發布後才能被其他工程或者web服務呼叫。

2 web project,就是乙個web應用,你自己做的**就是乙個web project,如果你想在你的**裡加入一些其他內容(例如天氣預報,郵編查詢,手機號碼歸屬地查詢等等),那就要呼叫其他**的介面了,那就是web service。

二 wsdl元素

wsdl元素是基於xml語法描述了與服務進行互動的基本元素

type(訊息型別):資料型別定義的容器,它使用某種型別系統

message(訊息):通訊資料的抽象型別化定義,它由乙個或者多個part組成

part:訊息引數

opretation(操作):對服務所支援的操作進行抽象描述,wsdl定義了四種操作:

port type (埠型別):特定埠型別的具體協議和資料格式規範。

binding:特定埠型別的具體協議和資料格式規範

service:相關埠的集合,包括其關聯的介面、操作、訊息等。

三 如何寫乙個webservice,生成wsdl位址

1 建立乙個普通的web專案,如:trans

前面的話:當兩個人碰面,產生了好感,如果需要得到雙方的資訊,雙方交流必不可少,應用程式也是如此。各個應用程式之間的交流就需要webservice來作為相互交流的橋梁。

專案目的:程式a呼叫程式b中的方法c

1> 建立乙個專案名為trans 

① 建立乙個方法,e.g. com.shu.function.function類:      

1 @webservice

2 public class function

9 return res;

10 }

11 public static void main(string args)

② 執行程式,控制台列印出"publish success",說明訊息發布成功。需確認點:a 需要jdk1.6+,b 埠未被占用。在瀏覽器輸入:

http://localhost:9001/service/function?wsdl即可看到詳細資訊

③此時即可使用soapui進行測試,介面如下

2 建立另外乙個專案:givemewords

如果失敗,在發布位址後面加上 ?wsdl

如果wsimport命令執行失敗,檢查是否把jdk配置入環境變數

成功標誌:parsing wsdl... generating code...   compiling code...如下圖

② 重新整理givemewords,專案在com.shu.service包下出現對應的webservice生成的檔案

寫main函式,呼叫即可~

public static void main(string args)

三消遊戲(三)

後面一些更改就是實現下落下標更改的方法。這個方法要在一開始檢測三色的時候呼叫 with3arr this.filterdelsame with3arr,return with3arrupdatecellfalldownnum function cell 還要刪除陣列裡的相同元素 filterdels...

三周C 總結三

1 陣列概念 陣列名變數代表陣列首位址。定義 int x1 new int 10 string names 2.折半查詢演算法 要求陣列按照大小有序 static int quickfind int arr,int x 形式引數 int index 1 int low 0,high arr.leng...

C 學習(三) 基礎(三)

include using namespace std 1 引用的基本語法 引用 給一段記憶體空間起別名 語法 型別 別名 原名 void test1 注意 1 引用必須要初始化 void test2 2 建立乙個對陣列的引用 1 先定義出陣列的型別,在定義引用 陣列型別定義 typedef int...