Axis全稱Apache eXtensible Interaction System,是apache組織下的一個開源項目,用來做webservice開發的,有java版的實現,也有c++版的實現。其前身最早是IBM的SOAP4J,后來捐給Apache后改名Apache SOAP,也就是支持SOAP1.1的那個版本,到現在的AXIS已經是第三代了,AXIS對Apache SOAP的改進有很多,比如用SAX代替以前的DOM,增加對WSDL的支持,支持SOAP1.2等等。
使用axis其實很簡單,在apache網站上把axis下載了后,把%AXIS_HOME%\webapps\axis整個目錄拷貝到tomcat的webapps目錄下面,啟動tomcat,瀏覽器中輸入http://localhost:8080/axis就可以訪問了。
上面說的只是axis運行起來了,要想布置自己的webservice,axis支持兩種方法:一種是用JWS(Java Web Service),好處是只要有源碼比如說Hello.java,把它后綴改成jws后放到%TOMCAT_HOME%\webapps\axis目錄下面,瀏覽器里面輸入http://localhost:8080/axis/Hello.jws就可以了;第二種方法就是使用wsdd(web service deploy description),這個就是在TOMCAT_HOME%\webapps\axis\WEB-INF目錄下寫一個deploy.wsdd和undeploy.wsdd文件,然后通過java org.apache.axis.client.AdminClient deploy.wsdd發布,可以生成server-config.wsdd配置文件,里面是一些發布的web服務信息,而卸載web 服務就可以用org.apache.axis.client.AdminClient undeploy.wsdd來操作,客戶端輸入http://localhost:8080/axis/services/Hello就可以了。
下面看一個簡單的例子,編寫一個普通的web service例子(Hello.java)如下:





把它改名為Hello.jws然后拷貝至%TOMCAT_HOME%\webapps\axis目錄下,然后編寫客戶端程序如下:















運行后輸出“hello apos”,好了,一個簡單的web service 調用成功了。
還有一種wsdd發布和調用方式,如上Hello.java,可以為其編寫deploy.wsdd文件如下:






接下去啟動tomcat,在DOS下切換目錄到%TOMCAT_HOME%\webapps\axis\WEB-INF\目錄下,執行命令行:
java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient deploy.wsdd
你會看到在當前目錄下生成了server-config.wsdd配置文件。內容如下:

























































你也可以手工配置此文件以達到發布web service 的目的。
然后通過 http://localhost:8080/axis/services/HelloService?method=sayHello&name=apos 訪問服務,可以看到返回soap包如下:








呵呵,第二種方式發布并訪問web service 成功了。