如何使用axis2發佈webservice?
axis2發佈webservice分爲打包發佈和不打包發佈兩種,今天主要研究了一下打包發佈的方法java
1.部署axis2框架(使用tomcat部署)
1.1 下載axis2的war包,測試使用的war包爲axis2-1.6.2-war.zip,解壓得到axis2.war包
1.2 將axis2.war包拷貝到%Tomcat_Home%/webapps目錄下,而後啓動tomcat,啓動成功之 後訪問http://localhost:8080/axis2,點擊services能夠看見已發佈成功的webservi ce列表,在webapps目錄能夠看見產生了一個axix2的文件夾
2.開發須要發佈的webservice服務
2.1 例如簡單的SayHello爲例
package axis2Demo;web
public class SayHello {
public String sayHello(String args){
try{
return args;
}finally{
System.out.println("sayHello被調用...");
}
}
public String sayGoodBye(String args){
try {
return args;
}finally{
System.out.println("sayGoodBye被調用...");
}
}
}
2.2 在src目錄下建立META-INF\services.xml,編輯services.xml內容
<service name="SayHelloDemo">
<description>This is a axis2 publish demo</description>
<parameter name="ServiceClass">axis2Demo.SayHello</parameter>
<operation name="sayHello">
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</operation>
<operation name="sayGoodBye">
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</operation>
</service>
services.xml內容有興趣能夠另行研究
3 發佈axis2的webservice
3.1 打包須要發佈成爲Webservice的應用程序爲jar包,jar包必須包含
META-INF\services.xml,提醒一下打包java應用程序時,打包的起始路徑不能從包名
一下的目錄開始打包,應該等級包的上一層目錄開始打包class文件:
如eclipse編譯以後的文件都在%eclipse_home%\project_name\bin目錄下,那麼打包一個應用時就應該從bin目錄開始打包。
3.2 將打包以後的jar包後綴名改成aar,例如xxx.jar 修改成 xxx.aar 便於axis2識別,
而後將aar包放入%tomcat_home%\webapps\axis2\WEB-INF\services目錄下
3.3 啓動tomcat能夠再日誌中觀察到成功加載了xxx.arr應用,經過瀏覽器訪問能夠發現
產生了一個新的webservice應用 SayHelloDemo ,至此webservice發佈成功apache