AXIS實現web服務配置部署簡要流程

 

AXIS實現web服務配置部署簡要流程

1:編寫服務器端接口,並在<webapp>/WEB-INF/classes下編譯。

       javac –d . *.java

 

 

 

 

2:在%APP_HOME%/webapp/WEB-INF目錄下創建server-config.wsddAXIS配置文件,所有web服務都要在該文件中註冊)文件。形如:

 

 

 

 

 

注:server-config.wsdd文件也可以通過編寫deploy.wsdd文件生成,具體方法爲,在%APP_HOME%/webapp/WEB-INF目錄下創建deploy.wsdd文件(SOAP發佈描述文件),形如:

然後將相應服務器端class編譯後在命令行輸入:

java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient deploy.wsdd

將在當前目錄下生成server-config.wsdd文件。

 

 

 

 

完成以上操作後,可在瀏覽器中通過http://localhost:8080/axis/services/login?wsdl 訪問該服務。

 

 

 

 

3JAVA客戶端實現:

可以通過AXIS中的org.apache.axis.wsdl.WSDL2Java類將已發佈的web服務進行客戶端實例化,具體命令爲:在%APP_HOME%/webapp/WEB-INF目錄下命令行輸入:

Java -Djava.ext.dirs=lib org.apache.axis.wsdl.WSDL2Java url[YiWang1] 

 

 

 

 

命令執行後會在本地當前目錄下生成以url爲模版的package目錄層次結構(如:local.axis.service.*),該目錄中針對每個服務器端接口會自動生成4個本地類。

其中:

       inferface LoginService在客戶端本地定義服務器接口的映射。

       interface LoginServiceService定義了用於獲得web服務的getter方法。

       class LoginServiceServiceLocator具體實現LoginServiceService接口,保存了服務器的url等相關信息。

       class LoginSoapBindingStub 具體實現LoginService,負責服務器交互。

 

 

 

 

(部署了web服務之後,如果接口不變而url發生改變,可以直接在客戶端更新LoginServiceServiceLocator中有關服務器地址的相關信息,或者用配置文件的形式修改)

編譯以上幾個類時需要axis.jarjaxrpc.jar兩個包,命令爲:

javac -classpath lib/axis.jar;lib/jaxrpc.jar –d . *.java

編譯成class後可以通過jar命令打包作爲接口部署在客戶端。

 

 

 

 

客戶端測試例程:

       如果通過java應用程序形式進行測試,命令爲:

        java -Djava.ext.dirs=lib -cp . package.class


 [YiWang1]服務器通過Wsdl形式發佈的web服務的完整url地址。


相關文章
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章