1. Apache Axis2 下載安裝入門


Apache Axis2 /Java 學習手冊   by 星雲

0x01 什么是Apache Axis2/Java?

Apache Axis2™ 是一個Web Service / SOAP / WSDL引擎,是廣泛使用的Apache Axis SOAP Stack的升級版。

我的理解: Apache Axis2 可以理解成是一個 Web Service 框架,使用它可以高效安全可靠地處理XML 報文消息。

Apache Axis2 Web Service 引擎有兩種實現:

  1. Abache Axis2 / Java
  2. Apache Axis2 / C.

我的理解:Apache Axis2 框架有兩種實現,一種用C語言寫的,一種用Java寫的。

0x02 為什么選擇Apache Axis2?

優點:

  1. 比Axis 1.x 架構更靈活,高效可配置
  2. Apache Axis2 不僅支持SOAP 1.1和SOAP 1.2 還集成了對Rest 風格的Web Service 的支持
  3. 比Axis 1.x 更模塊化,更面向XML

功能特點:

  1. XML解析速度更快
  2. 低內存占用空間
  3. 熱部署,將新服務添加到系統而無需關閉服務器
  4. 異步Web服務,Axis2現在支持使用非阻塞客戶端和傳輸的異步Web服務和異步Web服務調用
  5. WSDL 支持,Web服務描述語言版本1.1 和2.0
  6. ...

我的理解:Apache Axis2 比Apache Axis 更好更優秀

0x03 安裝指南

系統要求: 

基本上應該都滿足,

  1. JDK 1.5+
  2. Ant 1.6.5+ 
  3. Maven 2.0.7 + 

Apache Axis2 可以作為獨立服務器安裝,也可以作為J2EE兼容servlet容器的一部分安裝

我的理解:

Apache Axis2 可以將axis2.war 包放到自己安裝包目錄的webapps 目錄下運行

也可以將axis2.war 包放到 Tomcat 等 Servlet 容器中的webapps 目錄下運行

 

下載官網地址:http://axis.apache.org/axis2/java/core/download.html

1. 使用標准二進制分發將Axis2安裝為獨立服務器

假設我們已經安裝好JDK 1.5 以上版本的JDK 

1.1 打開上面的下載地址,然后點擊圖中所示的二進制下載超鏈接 

 

1.2 解壓

我們下載Apache Axis2 的二進制文件,下載解壓后如圖所示:

1.2 配置環境變量

我的電腦——屬性——環境變量

新建環境變量配置如下:

AXIS2_HOME
C:\app\axis2\axis2-1.7.9

 Path路徑追加:

%AXIS2_HOME%\bin\

1.3 啟動 Apache Axis2 Standalone Server

Windows 操作系統下輸入命令

axis2server.bat

Unix操作系統下輸入命令:

axis2server.sh 

啟動成功后,

打開瀏覽器

http://127.0.0.1:8080/axis2/services/

 可以看到:

我的理解:通過訪問這個url地址我們可以看到當前axis2附帶的默認Web Service

 當我們點擊上圖中的Version 超鏈接,它會跳轉到這個鏈接

http://127.0.0.1:8080/axis2/services/Version?wsdl

 可以看到這個Web Service 的描述信息詳情如下圖所示:

我的理解: 這是一個Web Service 描述文件,Axis2支持Web服務描述語言版本1.12.0

2. 構建Axis2 Web應用程序(axis2.war)

我們打開安裝目錄,可以看到這樣的目錄結構

 

接下來我們需要使用ant 構建工具,將這些文件打包成axis2-web.war

首先呢,我們需要下載Ant   https://ant.apache.org/bindownload.cgi

下載解壓后如下所示:

配置環境變量:

ANT_HOME
C:\app\ant\apache-ant-1.10.5

 添加到Path 路徑下:

%ANT_HOME%\bin\

 打開Power Shell 或者CMD 命令行輸入以下命令

ant -version

配置成功后可以看到回顯效果如下所示:

輸入構建命令

ant create.war

我們可以在安裝目錄的dist 目錄下找到生成的axis2.war

其次所有的模塊和Service 會打包到repository文件夾下

Axis2 腳本命令說明

接下來我們講解下這個目錄下的一些腳本的用法和功能

C:\Apps\axis2\axis2-1.7.9\bin

 截圖如下所示:

 

腳本名稱 描述
axis2.{bat|sh} 此腳本可以運行使用Axis2編寫的Web Service客戶端。在為Axis2依賴庫(AXIS2_HOME/lib中存在 * .jar文件)添加類路徑,設置Axis2存儲庫位置(AXIS2_HOME / repository)和設置Axis2配置文件位置(AXIS2_HOME/conf)后,此腳本調用“java”命令/axis2.xml)為你。有了這個,您可以放心設置所有上述Axis2特定參數。

用法:axis2.{sh.bat} [-options] class [args...]

axis2server.{sh|bat} 此腳本將使用AXIS2_HOME/repository作為Axis2存儲庫並將AXIS2_HOME/conf/axis2.xml作為Axis2配置文件啟動獨立的Axis2服務器。這將啟動AXIS2_HOME/conf/ axis2.xml中列出的所有傳輸偵聽器。

例如,如果要使用獨立的Axis2服務器部署服務,請將服務存檔復制到AXIS2_HOME/repository/services目錄。接下來,轉到AXIS2_HOME/conf/axis2.xml的“Transport Ins”部分並配置傳輸接收器(默認情況下列出端口8080中的simpleHttpServer)。然后調用此腳本。

通過 在命令行中添加-xdebug選項,可以在調試模式下啟動服務器然后可以通過連接到端口8000來連接遠程調試器。

wsdl2java.{bat|sh} 此腳本根據給定的WSDL文件生成Java代碼,以處理Web服務調用(client-side stubs)。此腳本還能夠根據給定的WSDL生成Web服務框架。

用法:wsdl2java.{sh|bat} [OPTION]... -uri <Location of WSDL>

例如,wsdl2java.sh -uri ../wsdl/Axis2Sample.wsdl

有關此腳本的更詳細參考可在此處找到

java2wsdl.{bat|sh} 此腳本為給定的Java類生成適當的WSDL文件。

用法:Java2WSDL.{sh|bat} [OPTION]... -cn <fully qualified class name>

例如,Java2WSDL.sh -cn ../samples/test/searchTool.Search

有關此腳本的更詳細參考可在此處找到

 在Servlet容器中安裝Axis2

 無論哪個發行版,在符合J2EE的servlet容器中安裝Axis2如下:

 我的理解:

1. Axis2 構件War 文件有兩種方式,一種是使用命令ant create.war 構建war 包,就像剛才我們生成axis2.war 一樣。另外一種是解壓axis2.war 修改源代碼,然后構建war 包。

2. 將*.war 文件放到 web 容器的webapps 文件夾中,比如復制剛才生成的axis2.war 放到tomcat 的webapps 中,大多數web 容器可以自動安裝,有些需要重啟web 容器。

3.一旦war安裝成功后,我們就可以通過瀏覽 http://<host :port>/axis2 訪問頁面如下所示

比如我用的tomcat,端口是8014端口,瀏覽器打開地址:

http://localhost:8014/axis2/ 

點擊Services 超鏈接,查看此服務器中部署的所有可用服務的列表。

http://localhost:8014/axis2/services/listServices

 

點擊Validate 超鏈接,檢查系統以查看是否所有必需的庫都已就位並查看系統信息。

http://localhost:8014/axis2/axis2-web/HappyAxis.jsp

點擊 Administration 超鏈接,用於管理此Axis2安裝的控制台。

我的理解:這里Axis2 就像我們熟悉的Tomcat 一樣也有一個web控制台,

這個賬號密碼是%AXIS2_HOME%\conf\ axis2.xml 中配置的

默認賬號:admin, 默認密碼axis2 這個密碼最好修改,否則極為不安全

除此之外,這個配置文件還可以修改axis2 獨立服務器的端口號,默認是8080端口

   <transportReceiver name="http"
                       class="org.apache.axis2.transport.http.SimpleHTTPServer">
        <parameter name="port">8080</parameter> 

登陸成功后我們可以看到如下界面

上傳 Service

上傳的.aar文件將存儲在默認服務目錄中。對於Axis2,這將是<webapps> / axis2 / WEB-INF / services目錄。上傳服務后,將立即安裝。

由於Axis2支持熱部署,因此您可以通過文件系統將服務存檔直接刪除到上述服務目錄。它還將導致服務自動安裝,而不會重新啟動容器。

 使用Maven 構建WAR

1. 配置並安裝Maven項目

2. 新建一個maven web app 項目

由於這個模板是早期的Maven 模板,所以完成后,Build Path-----> 修改JRE 1.5 為JDK 1.8,這樣目錄結構就會自動生成

3. 下載axis2.war 模板引擎文件

http://axis.apache.org/axis2/java/core/download.html

復制axis2.war 解壓的源碼文件到項目的webapp 目錄下

使用maven install 命令構建*.war 包,執行成功后將會在target 文件夾下找到*.war

 然后我們將這個axis2-helloworld-sample.war 包復制到 tomcat 的webapps 目錄下,啟動我們的tomcat

startup

 前提:Tomcat 配置好環境變量,輸入startup 才會啟動startup.bat 或者startup.sh 腳本,啟動我們的tomcat

訪問URL地址:

http://localhost:8014/axis2-helloworld-sample/

訪問成功后如圖所示:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM