1. 程式人生 > >Axis2用法(1)JAVA2WSDL和WSDL2JAVA

Axis2用法(1)JAVA2WSDL和WSDL2JAVA

1、Axis2簡介

Web Service是現在最適合實現SOA的技術,而Axis2是實現Web Service的一種技術框架。Axis2提供了較多的工具以便開發者使用,比如:java2wsdl和wsdl2java。深入使用Axis2框架前,說明下java2wsdl和wsdl2java的使用。

具體解釋訪問:http://axis.apache.org/axis2/java/core/download.cgi

2、使用前提

(1)安裝JDK。JDK安裝和環境變數配置。

(2)安裝axis2-1.6.2。下載axis2-1.6.2.zip解壓到E:盤,環境變數中增加AXIS2_HOME:E:\axis2-1.6.2。在path中增加:E:\axis2-1.6.2\bin和E:\axis2-1.6.2\lib。可以在cmd.exe 視窗中輸入:axis2 -version;檢視你所配置的JDK資訊和axis2的版本資訊。

3、JAVA2WSDL

(1)定義介面(java)

在java工程中編寫一個傳送訊息的介面:
package com.yht.msg;

/**
 * 定義傳送彩信附件的介面。
 * @author Administrator
 *
 */
public interface SendAttachService 
{
	/**
	 * 傳送彩信方法。同時攜帶兩個欄位的訊息。
	 * @param subject 關於彩信附件的訊息體
	 * @return 返回是否傳送成功。
	 */
	public String sendAttach(String subject);
}
(2)生成二進位制檔案(class)
執行:cmd 輸入:E:(跳轉到E盤) 輸入:cd E:\workspace\Demo-Axis2-1.6.2\src(跳轉到工程的src資料夾下) 輸入:javac com\yht\msg\SendAttachService.java (將包路徑下的java檔案編譯成class檔案。如果該java檔案引用了其他類,先編譯其他類。) (3)生成wsdl檔案(wsdl) 拷貝:將class檔案連同它的包路徑,拷貝到axis2的bin路徑下。 跳轉:cmd視窗輸入:cd E:\axis2-1.6.2\bin。跳轉到axis2的路徑下。 輸入:java2wsdl -cp SendAttachSerice.class -cn com.yht.msg.SendAttachService -of SendAttachService.wsdl
(其中,-cp 後面是class檔案的路徑,將class檔案包括包名,拷貝到axis2的bin下,可直接由class名。 -cn 後面是java檔名,包名+類名。 -of 後面是需要輸出的wsdl檔案的名稱。 注意:如果類的包名中包含java或者axis貌似會報安全反面的錯誤,具體沒研究過。) 執行如上命令後,在axis2的bin路徑下會生成相應的wsdl檔案。

4、WSDL2JAVA

該命令可以將wsdl檔案定義的介面,生成介面相應的客戶端和服務端java程式碼。 輸入:wsdl2java -uri E:\axis2-1.6.2\bin\SendAttachService.wsdl -ss -ssi -sd -g (其中,-uri後面是wsdl檔案的絕對路徑) 執行如上命令後,axis2的bin路徑下,會生成相應的src資料夾和resources資料夾(其中src中是客戶端和服務端java程式碼,resources中是生成釋出服務的service.xml和附帶的wsdl檔案) 生成程式碼後,為了便於後面客戶端和服務端的封裝。建議做如下步驟: 一、程式碼使用: (1)在eclipse中建立Java project工程AttachService。 (2)將axis2中生成的java程式碼(src檔案中的內容),拷貝到工程的src資料夾中。 (3)在工程AttachService根路徑下建立一個lib資料夾,將axis2的所有jar包(E:\axis2-1.6.2\lib)拷貝到該資料夾下。 (4)將lib下的jar包匯入工程的Library下。(工程->properties->Java Build Path->Libraries->add jars,將工程lib下jar匯入。) (5)一直確定,最後,確保程式碼不報錯。 二、釋出aar服務包 (1)在wsdl檔案生成java程式碼後,在resources資料夾下建立一個名為:META-INF的資料夾。將resources資料夾下的service.xml拖到META-INF資料夾下。 (2)cmd視窗輸入:cd E:\axis2-1.6.2\bin\resources,跳到resources資料夾下,把resources下的除了META-INF外的其他檔案可以刪除,額外檔案打入aar包可能導致該aar包不可用。 (3)輸入命令:jar cvf AttachService.aar . (命令後面有個點)。執行該命令後,resources資料夾下會生成AttachService.aar,可以以zip形式開啟。