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