Web Service是如今最適合實現SOA的技術,而Axis2是實現Web Service的一種技術框架。Axis2提供了較多的工具以便開發者使用,好比:java2wsdl和wsdl2java。深刻使用Axis2框架前,說明下java2wsdl和wsdl2java的使用。java
具體解釋訪問:http://axis.apache.org/axis2/java/core/download.cgiapache
(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的版本信息。框架
(1)定義接口(java)eclipse
在java工程中編寫一個發送消息的接口:ide
package com.yht.msg; 工具
/** ui
* 定義發送彩信附件的接口。 spa
* @author Administrator code
*
*/
public interface SendAttachService
{
/**
* 發送彩信方法。同時攜帶兩個字段的消息。
* @param subject 關於彩信附件的消息體
* @return 返回是否發送成功。
*/
public String sendAttach(String subject);
}
<pre code_snippet_id="136111" snippet_file_name="blog_20131231_1_5420880"></pre>
<pre></pre>
<pre></pre>
<pre></pre>
<pre></pre>
(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文件。
該命令能夠將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、代碼使用:
(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)一直肯定,最後,確保代碼不報錯。
2、發佈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形式打開。