posts - 14, comments - 15, trackbacks - 0, articles - 0
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          java中使用axis1.4開(kāi)發(fā)webService

          Posted on 2008-10-06 14:53 析木 閱讀(3537) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): WebService

          一、Axis環(huán)境的安裝 

          1、安裝環(huán)境 J2SE SDK 1.4,Tomcat 5.0,eclipse 3.2。 

          2、到 http://xml.apache.org 網(wǎng)站下載Axis安裝包。 

          3、將Axis相關(guān)包文件放在WEB-INF\lib目錄下。 

          4、Axis可選的包:activation.jar; mail.jar; xmlsec-1.4.Beta1.jar拷貝到WEB-INF目錄下,生成客戶(hù)端時(shí)候需要使用。 

          Axis支持三種web service的部署和開(kāi)發(fā),分別為: 

          1、Dynamic Invocation Interface (DII) 

          2、Dynamic Proxy方式 

          3、Stubs方式 

          前兩種方式我就不介紹了,同事告訴我他們自己都不使用前兩種方式,他們建議我們使用Stubs方式,因此我就主要就介紹一下第三種方式。注意,我自己的Java源代碼是放在D:\workspace\test\目錄下,Axis相關(guān)包文件放在D:\workspace\test\WEB-INF目錄下。 

          二、編寫(xiě)wsdd發(fā)布web服務(wù),編寫(xiě)stub client訪問(wèn)web服務(wù) 

          1、編寫(xiě)服務(wù)端程序server,SayHello.java,編譯

          Java代碼 
          1. package server;   
          2. public class SayHello   
          3. {   
          4. public String getName(String name)   
          5. {   
          6. return "hello "+name;   
          7. }   
          8. }   

           
          2、編寫(xiě)wsdd文件 

          deploy.wsdd文件內(nèi)容如下:

          Xml代碼 
          1. <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">   
          2. <service name="SayHello" provider="java:RPC">   
          3. <parameter name="className" value="server.SayHello.getName"/>   
          4. <parameter name="allowedMethods" value="*"/>   
          5. </service>   
          6. </deployment>   

           
          3、發(fā)布服務(wù): 

          編輯一個(gè)deploy.bat,Axis_Lib為axis.jar路徑。內(nèi)容如下:

          Java代碼 
          1. set Axis_Lib=D:\workspace\test\WEB-INF\lib   
          2. set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%   
          3. set Axis_Servlet=http://localhost:8080/test/servlet/AxisServlet   
          4. %Java_Cmd% org.apache.axis.client.AdminClient -l%Axis_Servlet% deploy.wsdd   

           
          執(zhí)行這個(gè)批處理文件,這時(shí)候,如果提示成功的話(huà),訪問(wèn)http://localhost:8080/test/services 就會(huì)顯示服務(wù)列表。 

          4、生成客戶(hù)端client stub文件 

          在瀏覽器上訪問(wèn)服務(wù)器端的服務(wù),可以下載到WSDL文件,通過(guò)Axis的相關(guān)工具,可以自動(dòng)從WSDL文件中生成Web Service的客戶(hù)端代碼。 

          編寫(xiě)一個(gè)WSDL2Java.bat文件,其內(nèi)容如下:

          Java代碼 
          1. set Axis_Lib=D:\workspace\test\WEB-INF\lib   
          2. set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%   
          3. set Output_Path=D:\workspace\test\src   
          4. set Package=server.SayHello   
          5. %Java_Cmd% org.apache.axis.wsdl.WSDL2Java -t -o%Output_Path% -p%Package% SayHello.wsdl   

           
          執(zhí)行這個(gè)批處理文件就可以生成client stub. 

          生成的stub client文件列表為:SayHello.java,SayHelloService.java,SayHelloServiceLocator.java,SayHelloSoapBindingStub.java . 

          我要啦免费统计
          主站蜘蛛池模板: 密云县| 博罗县| 陈巴尔虎旗| 长岭县| 定南县| 来安县| 教育| 托克托县| 临桂县| 宜川县| 石门县| 民丰县| 大兴区| 阿尔山市| 宣城市| 于都县| 扎囊县| 红河县| 贡嘎县| 甘孜县| 蒙山县| 郧西县| 十堰市| 伊宁市| 那曲县| 永州市| 炉霍县| 韶山市| 依安县| 时尚| 会理县| 肇州县| 哈密市| 浦城县| 甘洛县| 望都县| 邵武市| 平原县| 淳化县| 宣化县| 介休市|