SOAP簡介
企業系統內部各個系統之間的資訊交換一直是一個難題,在過去有DCOM、CORBA等解決方案,但都不是很完美,不是太複雜就是有缺陷。現在則較流行SOAP(全稱:Simple Object Access Protocol,簡單物件訪問協議)。
SOAP和Web Service和Apache SOAP這些新概念(應該也不算新了)常搞的人頭昏。我是這麼理解的,Web service(也稱Web服務)是一個大的概念範疇,它表現了一種設計思想。SOAP是Web service的一個重要組成部份,如果把Web service比喻成Internet,那麼SOAP就可以比喻成TCP/IP。SOAP是一種協議而非具體產品,微軟也有自己的SOAP實現產品,而Java下比較流行的SOAP實現產品就是Apache SOAP,不過它的下一個版本已經改名成AXIS了。
SOAP是透過XML檔案來做為資料轉輸的的載體,走HTTP的線路,一般企業的防火牆都開放HTTP的80埠,所以SOAP不會被防火牆阻斷,這算是SOAP的一個優點。
資訊轉輸的雙方都要求支援SOAP服務,因為XML檔案發過去,則對方需要有SOAP服務來接收,然後對方會有反饋也是XML檔案,這時你也需要安裝SOAP服務來接收,
SOAP是一個基於XML的用於應用程式之間通訊資料編碼的傳輸協議。最初由微軟和Userland Software提出,隨著不斷地完善和改進,SOAP很快被業界廣泛應用,目前完全釋出版本是1.1。在其發展過程中,W3C XML標準工作小組積極促成SOAP成為一個真正的開放標準。在寫作此文件之時,SOAP1.2草案已經發布,1.2對1.1中相對混亂的部分做了改進。
SOAP被廣泛作為新一代跨平臺、跨語言分佈計算Web Services的重要部分。
[@more@]2. 什麼是Axis
Axis是Apache組織推出的SOAP引擎,Axis專案是Apache組織著名的SOAP專案的後繼專案,目前最新版本是採用Java開發的1.1版本,C++的版本正在開發之中。Axis v1.1軟體包可以從下載得到。
但是Axis不僅僅是一個SOAP引擎,它還包括:
一個獨立執行的SOAP伺服器
一個servlet引擎的外掛,這個servlet引擎可以是Tomcat
對WSDL的擴充套件支援
一個將WSDL的描述生成JAVA類的工具
一些示例程式碼
還有一個監控TCP/IP包的工具
二、Axis的安裝
應用Axis開發Web Services,你需要安裝如下軟體:
1.JDK1.4.2
2.一個支援Servlet的伺服器引擎,比如廣為人知的Tomcat。
當安裝好Tomcat之後,只需將下載的Axis軟體包解壓縮,將其中的“webapps”目錄下的“axis”目錄整個複製到Tomcat安裝目錄下的“webapps”目錄下即可。
三、Axis的配置
Axis基於Java開發,可以部署於多種作業系統,使用前需要配置一系列的系統變數,在此假定你已經在本機上裝好了Tomcat 4.0以上的版本,需要配置的系統變數如下表所示:
CATALINA_HOME
C:Tomcat_4_1
(此處應為Tomcat的安裝位置,注意路徑名中不要有空格)
AXIS_HOME
%CATALINA_HOME%webappsaxis
AXIS_LIB
%AXIS_HOME%lib
AXISCLASSPATH
%AXIS_LIB%axis.jar;%AXIS_LIB%commons-discovery.jar; %AXIS_LIB%commons-logging.jar;%AXIS_LIB%jaxrpc.jar; %AXIS_LIB%saaj.jar;%AXIS_LIB%log4j-1.2.8.jar; %AXIS_LIB%xml-apis.jar;%AXIS_LIB%xercesImpl.jar
CLASSPATH 中加入:
%AXIS_LIB%axis.jar;%AXIS_LIB%commons-discovery.jar; %AXIS_LIB%commons-logging.jar;%AXIS_LIB%jaxrpc.jar; %AXIS_LIB%saaj.jar;%AXIS_LIB%log4j-1.2.8.jar; %AXIS_LIB%xml-apis.jar;%AXIS_LIB%xercesImpl.jar
四、Axis的測試
安裝配置完畢後,應測試一下是否Axis可以正確執行了。
啟動Tomcat伺服器,在瀏覽器中訪問,如果頁面顯示有錯誤,則需要回頭檢查一下相關配置是否正確,如果瀏覽頁面能正確顯示出系統元件、屬性等引數配置資訊,則表示安裝成功。現在可以開始開發你的Web Services應用了。
五、服務的釋出
Axis提供了兩種服務釋出方式,一種是即時釋出(Instant Deployment),一種是定製釋出(Custom Deployment)。
1. 使用即時釋出 Java Web Service(JWS)
對即時釋出的支援是Axis的特色之一,使用即時釋出使使用者只需有提供服務的Java類的原始碼,即可將其迅速釋出成Web服務。每當使用者呼叫這類服務的時候,Axis會自動進行編譯,即使伺服器重啟了也不必對其做任何處理,使用非常簡單快捷。
使用即時釋出首先需要一個實現服務功能的Java原始檔,將其副檔名改為.jws(Java Web Service的縮寫),然後將該檔案放到“……webappsaxis”目錄下即可。
在此給出一個從英里到公里的長度單位轉換的服務,其原始碼如下:
檔案Distance.jws
public class Distance
{
public double convertMile2Kilometre( double mile )
{
return mile * 1.609; //實現英里到公里的距離轉換
}
}
將其放到“……webappsaxis”目錄,透過訪問可以看到這個服務的WSDL描述檔案,這說明Distance服務被成功釋出了。描述的WDSL程式碼如下:
-
-
-
-
-
-
-
-
-
-
需要注意的是:JWS的web服務釋出是一個很簡單的Web服務釋出方式,在頁面中你不能使用包,而且由於程式碼是在執行期被編譯的,所以在部署之後,你也很難找到錯誤所在。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12058779/viewspace-1002001/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- XML SOAP應用簡介 (轉)XML
- SOAP和RESTful框架的簡介、對比和區別REST框架
- 利用PHP SOAP擴充套件實現簡單Web ServicesPHP套件Web
- SOAP及WebServicesWeb
- 轉RMI、RPC、SOAP通訊技術介紹及比對RPC
- 簡介
- Jira使用簡介 HP ALM使用簡介
- 作者:Don Box 簡單物件訪問協議(SOAP)初級指南 (轉)物件協議
- SOAP快取問題快取
- SOAP 節點基礎
- SOAP和WebService真是垃圾。Web
- BookKeeper 介紹(1)--簡介
- Amphenol簡介
- Vagrant簡介
- PySimpleGUI 簡介GUI
- Protobuf簡介
- MyBatis 簡介MyBatis
- jango簡介Go
- cookie 簡介Cookie
- Session 簡介Session
- Cookie簡介Cookie
- Virgilio 簡介
- Django簡介Django
- ElasticSearch簡介Elasticsearch
- Javascript 簡介JavaScript
- Electron簡介
- Dubbo 簡介
- JavaScript簡介JavaScript
- CSS 簡介CSS
- 反射簡介反射
- JanusGraph -- 簡介
- CSS簡介CSS
- Bootstrap 簡介boot
- pwa簡介
- Apache簡介Apache
- JAVA簡介Java
- JUC簡介
- sass簡介