摘要
1.環境介紹
2.所需資源下載地址
3.提醒事項說明
4.入門案例實戰
5.當然是我最喜歡的打賞環節啦(堅持免費,動力源泉啊)
ps:案例中所需的所有jar包和文件全部可以免費直接下載,轉載請注明出處.
進入正題
開發環境==>JDK 1.7 + Eclipse 4.4+ Tomcat
7.0.57 + AXIS 1.4。
AXIS 1.4==> 官方下載地址http://archive.apache.org/dist/ws/axis/1_4/
下載截圖

百度雲下載鏈接,內涵axis,tomcat.JDK等資源,所需要額外jar包
鏈接:https://pan.baidu.com/s/1wQfOzwoCKOoCDU_KLFynDQ
提取碼:3vwf
提醒事項
1.學習一種新的技術,官方提供的資料中往往帶有簡單的demo(案例)和API幫助開發者開快速上手,AXIS也不例外
a)axis-bin-1_4.zip壓縮包解壓之后圖如下,雙擊webapps文件夾看到axis文件夾

2.AXIS 提供了兩種服務發布方式,一種是即時發布(Instant Deployment)少用,另外一種是定制發布(Custom Deployment)常用。
3.webservice axis1.4在請求與響應參數方面,不支持List類型,但可以支持數組;如List<Student> 可以修改成Student[]寫法
4.在提供的服務接口中,如有自定義實體bean、數組等復雜類型時,需要對其實體對象進行序列化和反序列化
5.若有其他提醒事項,歡迎各位評論區補充.
准備就緒進行實戰
1.使用axis壓縮包內自帶的DEMO進行測試配置
a)將下載的axis-bin-1_4.zip文件解壓后的webapps文件下的axis文件拷貝到本機TOMCAT安裝路徑\webapps 目 錄 下
b)之后將 activation.jar 、 mail.jar 、 tools.jar三個jar包拷貝到本機TOMCAT安裝路徑\webapps\axis\WEB-INF\lib
c)啟動tomcat==>可直接雙擊tomcat/bin/startup.bat文件啟動
d)瀏覽器訪問http://localhost:8080/axis/happyaxis.jsp頁面顯示如下,則配置成功

第一種發布方式(即時發布),限制太多,不支持帶包的類,但是非常簡單,方便入門體驗axis,(ps,請先完成以上准備階段再進行以下實戰)
1.用記事本編輯一段簡單java文件,作為測試的待發布文件==>HelloKePP.java文件

2.將HelloKePP.java文件放入到%TOMCAT_HOME%/webapps/axis目錄下(也就是在上面准備就緒階段中axis目錄下),同時將HelloKePP.java文件后綴名更改成HelloKePP.jws

3.再次啟動tomcat(可直接雙擊tomcat/bin/startup.bat文件啟動),若此時tomcat已經啟動,可以直接點擊shutdown.bat停止之后再次啟動
4.啟動之后打開瀏覽器訪問連接http://localhost:8080/axis/HelloKePP.jws,頁面顯示如下,這時一個簡單的服務就發布成功了

5.頁面可以點擊click to see the WSDL查看你所發布服務具體描述文件(WSDL)

6.服務端已經准備完畢,以下客戶端
a)在eclipse下創建java項目做為客戶端

b)客戶端代碼如下,
1 package com.kepp.axis.client; 2 import java.net.URL; 3 import javax.xml.namespace.QName; 4 import javax.xml.rpc.ServiceException; 5 import org.apache.axis.client.Call; 6 import org.apache.axis.client.Service; 7 /** 8 * 及時發布方式 9 * 客戶端測試類 10 * @author newer 11 */ 12 public class ClientDemo { 13 public static void main(String[] args) throws Exception { 14 //直接給定服務端口訪問連接 15 String targetEntPoint = "http://localhost:8080/axis/HelloKePP.jws"; 16 Service service = new Service(); 17 Call call = (Call)service.createCall(); 18 //設置的xml文件中operation的name值,需要和wsdl中的operation一致 19 call.setOperationName(new QName(targetEntPoint,"Hello")); 20 //設置新的連接地址值 21 call.setTargetEndpointAddress(new URL(targetEntPoint)); 22 //使用反射機制生成對象,傳入需要傳入的數據即可 23 String result = (String)call.invoke(new Object[]{"短腿基"});//可以i輸入任意字符串,這就相當於調用了其他系統提供服務接口 24 System.out.println(result);//KePP say hello to 短腿基 25 } 26 }
定制發布
未完待續...................
打賞說明
打賞的人都可以找到老婆,例如我老婆新垣結衣就是我打賞送的.你們看着辦吧!!!!哈哈哈(打賞一律五毛啊)


