axis 简单介绍
axis1.3是soap1.2協議的一個實現框架。在工作中我們可以方便的通過axis進行webservice的開發。
隨著SOA的流行,webservice開發也變得相當的熱門。許多企業都將自己的網站遷移到soa的架構。.今天我們來一起體驗一下通過axis來創建、發布和調用webservice的過程.
安裝axis.
???? 我們可以從axis的官方網站上下載(http://ws.apache.org/axis/).解壓縮axis-bin-1_3.zip。在lib中包含axis必須使用的jar包.docs中包含axis的文檔,通常使用用戶指南就可以解決大部分問題。samples中包含很多webservice的例子,webapps文件夾中包含了一個axis web application你可以直接把他部署到tomcat中,然后在這個axis應用上發布你的webservice,發布成功后就可以調用了。build文件夾用來存放用ant編譯的axis安裝包的classes文件。
copy? axis-bin-1_3安裝包下webapps文件夾中的axis目錄到tomcat的webapps下發布你的axis應用。重新啟動tomcat.訪問http://localhost:8080/axis 。這時就會出現axis的歡迎畫面.進入Validation鏈接以檢查axis所使用的jar包是否全都存在。如果不存在我們可以根據鏈接下載axis缺少的jar文件,下載之后copy到tomcat\webapps\myaxis\WEB-INF\lib下即可。一般情況下還會有一些warning消息,里面列出的的選項不是必須存在的jar包。
一種簡單webservice的發布方式-jws
我們通過JWS (Java Web Service)文件的方式來發布一個webservice。首先在安裝包的axis-bin-1_3\axis-1_\samples\userguide\example2目錄下找到Calculator .java文件,將其改名為Calculator .jws然后copy到tomcat的webapps/axis/下。發布這個webservice。這個webservice提供了兩個功能即加減功能。下面我們來進行調用。首先進入客戶端源代碼所在位置,也可以將源代碼所在目錄添加到classpath中(C:\Documents andSettings\y41yang\Desktop\software\axis-bin-1_3\axis-1_3;):然后輸入java samples.userguide.example2.CalcClient -p8080 add 2 5 這時如果結果為Got result : 7 則說明axis安裝成功!如果失敗了請檢查classpath設置,是否將所有用到的jar文件加入classpath中。到這里axis就已經安裝成功了.
這種發布方式非常的敏捷!但有它的局限性—你必須知道webservice的源代碼。有時候這個的確很讓人郁悶!比如:webservice被打成了一個jar包,你并沒有源代碼。或者這個webservice根本就不是你的公司開發的。這時你發布這個webservice就會變得很困難。axis針對這種情況提供了wsdd文件的方式來發布和撤銷webservice。
第二種方法:AdminClient? -一個axis發布工具,會自動地將你的webservice發布到WEB-INF下的server-config.wsdd文件中。可以利用AdminClient? 創建服務調用服務。
發布服務:
java org.apache.axis.client.AdminClient -lhttp://localhost:80/axis/services/AdminService deploy.wsdd
AdminClient 所做的工作:AdminClient 首先會在axis所在應用下的WEB-INF文件夾下創建一個webservice配置文件server-config.wsdd,并且根據wsdd文件的配置將我們的webservice加入到這個配置文件中。如果server-config.wsdd已經存在則不會創建,會修改這個文件將新的service 配置到server-config.wsdd文件中。
-l:創建服務的URL
如果顯示:Processing file deploy.wsdd
??? Done processing
則表明發布成功
調用服務:
java samples.userguide.example3.Client -lhttp://localhost:8080/axis/services/MyService "test me!"
說明:samples.userguide.example3.Client:用來測試的客戶端
-lhttp://localhost:8080/axis/services/MyService :服務端的路徑
"test me!" :參數
http://localhost:8080/axis/services/MyService?method=serviceMethod&&arg=aa
格式說明:http://服務的URL?method=調用的方法&&arg=參數值
卸載服務:
java org.apache.axis.client.AdminClient? undeploy.wsdd
因為wtp的web service? 集成了axis, 所以需要了解一下aixs的基本知識,但是我不推薦用手動的方法生成布署(手動的方法還需要把用到的所有的jar包都加到classpath中),在WTP插件中提供了可視化的操作,非常簡單。
?
?
總結
- 上一篇: Juddi介绍及安装
- 下一篇: JSP、Servlet、Tomcat、J