Web Services技術使異種計算環境之間可以共享數據和通信,達到信息的一致性。隨著異種計算機環境的不斷增加,我們會更加經常的調用各種不同計算機體系中編寫和發布的Web Services,作者在本文中給出了使用VB應用程序調用java平臺編寫和發布的Web Services的實踐過程, 并且分析了如何根據WSDL文件構造SOAP消息的方法。
一 SOAP簡介
1.SOAP定義
SOAP(Simple Object access PRotocol )簡單對象訪問協議是在分散或分布式的環境中交換信息的簡單的協議,是一個基于xml的協議.
它包括四個部分:
SOAP封裝(envelop): 封裝定義了一個描述消息中的內容是什么,是誰發送的,誰應當接受并處理它以及如何處理它們的框架;
SOAP編碼規則(encoding rules): 用于表示應用程序需要使用的數據類型的實例;
SOAP RPC表示(RPC representation): 表示遠程過程調用和應答的協定;
SOAP綁定(binding): 使用底層協議交換信息。
2.SOAP消息
SOAP采用了已經廣泛使用的兩個協議:HTTP和XML。其中HTTP用于實現SOAP的RPC風格的傳輸,而XML是它的編碼模式,一個SOAP請求實際上就是一個HTTP POST請求。
其它具體的SOAP方面的信息請參考 http://www.w3.org/TR/2001/WD-soap12-20010709/
二 WSDL簡介
WSDL (Web Services Description Language)是一種XML application,他的作用是將一個Web Services描述為一組服務訪問點.
WSDL文檔將一個Web Services描述成一組網絡端點或者端口,在WSDL中,由于服務訪問點和消息的抽象定義已經和具體的服務期部署和數據格式綁定分離,因此可以再次使用這些抽象對象: 消息,是對需要交換信息的抽象描述;端口類型,是對Web Service提供的操作的抽象集合。
特定端口類型的具體協議和數據格式定義構成了一個可以從用的綁定,一個端口定義成一個可重用綁定和網絡地址的關聯,一組端口構成了一個服務。
WSDL在定義Web Sevices時使用了以下元素:
Types: 數據類型的容器,他采用一些類型系統(比如常用的XSD)
Message: 通信消息的抽象類型化定義
Operation: 服務提供的操作的抽象化描述
Port Type: 一個或者多個端點支持的一組操作的抽象
Binding: 特定端口類型的具體協議和數據格式定義
Port:定義為binding和網絡地址的關聯的單個的端點
Service: 一組相關的端點的結合
具體的WSDL定義和相關信息請參考: http://www.w3c.org/TR/wsdl
三 使用WSAD開發和發布一個Web Services
1.我們用WSAD(Websphere Studio Application Developer)創建一個HelloWorld的java類,他只有一個方法,就是返回一個字符串HelloWorld。
// HelloWorld.java
package hello;
public class HelloWorld {
public String getString(){
return "Hello World!";
}
}
2.將該類作為web service 發布到WASD帶的測試環境的服務器上
發布后我們可以在web工程的wsdl文件下面找到兩個.wsdl文件: HelloWorld-service.wsdl, HelloWorld-binding.wsdl,HelloWorld-binding.wsdl文件中主要描述了這個web services的服務訪問點,HelloWorld-binding.wsdl文件中則描述了這個web services的通信消息的數據結構、每個訪問點支持的操作、特定的斷口類型的具體協議和數據格式規范的綁定等信息,其具體的含義可以參考使用 WSDL 部署 Web 服務:
|
新聞熱點
疑難解答