<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Dict.CN 在線詞典, 英語學(xué)習(xí), 在線翻譯

    都市淘沙者

    荔枝FM Everyone can be host

    統(tǒng)計(jì)

    留言簿(23)

    積分與排名

    優(yōu)秀學(xué)習(xí)網(wǎng)站

    友情連接

    閱讀排行榜

    評論排行榜

    JDK tomcat Axis的安裝使用(轉(zhuǎn))


    一.簡介
    什么是SOAP?SOAP是一個(gè)應(yīng)用程序間的基于XML的通信工具和規(guī)范.SOAP最初由MicroSoft和Userland公司開發(fā),已經(jīng)演化了好幾個(gè)版本,當(dāng)前的版本SOAP1.1正飛速發(fā)展.W3C的XML協(xié)議工作組正努力把它發(fā)展為一個(gè)真正的開發(fā)的標(biāo)準(zhǔn).SOAP1.2草案已經(jīng)發(fā)布,它能澄清 1.1版規(guī)范的容易混淆的地方.

    什么是Axis?Axis總體上是一個(gè)SOAP引擎,但又不僅僅是個(gè)引擎,它還:1)是一個(gè)簡單的獨(dú)立的服務(wù)器2)是一個(gè)可插入到servlet引擎(如Tomcat)中的服務(wù)3)可擴(kuò)展的支持WSDL4)能根據(jù)WSDL產(chǎn)生JAVA文件/類5)包括一些例子程序6)包括一個(gè)可以監(jiān)控TCP/IP包的工具

    Axis起源于IBM的SOAP4J,是Apache SOAP的第三代產(chǎn)品,相對于以前的版本,它有如下特性:1)快速,它使用了基于事件的SAX解析機(jī)制.2)靈活,用戶可以靈活定制擴(kuò)展.3)穩(wěn)定,接口將會(huì)變動(dòng)很小.4)基于組件開發(fā).5)支持WSDL1.1

    二.準(zhǔn)備
    應(yīng)用Axis開發(fā)Web Services,你需要安裝如下軟件:
    1.jdk1.5
    2.安裝Tomcat5.0.28,這是當(dāng)前穩(wěn)定版本.Tomcat運(yùn)行在80端口.訪問http://localhost/8080檢查Tomcat是否安裝成功.
    3.下載AXIS:
    官方站點(diǎn):http://xml.apache.org/axis/index.html
    下載軟件:axis-bin-1_2_1.tar.gz
    4.下載相關(guān)包:
    a.mail.jar 下載地址:http://java.sun.com/products/javamail
    b.activation.jar 下載地址:http://java.sun.com/products/javabeans/glasgow/jaf.html
    c.xerces.jar 下載地址:http://xml.apache.org/xerces-j/index.html
    d.xmlsec-1.2.1.jar 下載地址:http://xml.apache.org/security/

    三.安裝
    1.將jdk1.5.0_04安裝在D:\jdk1.5.0_04下(當(dāng)然安裝路徑可任意選)好后,環(huán)境變量配置如下:
    JAVA_HOME=D:\jdk1.5.0_04
    CLASSPATH=.;D:\jdk1.5.0_04\jre\lib\rt.jar;D:\jdk1.5.0_04\jre\lib\tools.jar
    Path=D:\jdk1.5.0_04\bin
    2.tomcat-5.0.28安裝在D:\tomcat-5.0.28下(安裝路徑可任選)好后,環(huán)境變量配置如下:
    CATALINA_BASE=D:\tomcat-5.0.28
    CATALINA_HOME=D:\tomcat-5.0.28
    3.axis的安裝
    a.將下載的Axis軟件包解壓縮,將其中的“webapps”目錄下的“axis”目錄整個(gè)拷貝到Tomcat安裝目錄下的“webapps”目錄下。
    b.將mail.jar、activation.jar、xerces.jar、xmlsec-1.2.1.jar四個(gè)包,全部拷到D:\tomcat-5.0.28\webapps\axis\WEB-INF\lib下
    c.環(huán)境變量配置
    AXIS_HOME=D:\tomcat-5.0.28

    AXIS_LIB=%AXIS_HOME%\WEB-INF\lib
    AXISCLASSPATH=%AXIS_LIB%\activation.jar;%AXIS_LIB%\axis.jar;%AXIS_LIB%\axis-ant.jar;%AXIS_LIB%\commons-discovery-0.2.jar;%AXIS_LIB%\commons-logging-1.0.4.jar;%AXIS_LIB%\jaxrpc.jar;%AXIS_LIB%\saaj.jar;%AXIS_LIB%\log4j-1.2.8.jar;AXIS_LIB%\xml-apis.jar;%AXIS_LIB%\xercesImpl.jar;%AXIS_LIB%\mail.jar;AXIS_LIB%\wsdl4j-1.5.1.jar;%AXIS_LIB%\xerces.jar;%AXIS_LIB%\xmlsec-1.2.1.jar

    CLASSPATH=%AXIS_HOME%\WEB-INF\lib
    AXISCLASSPATH=%AXIS_LIB%\activation.jar;%AXIS_LIB%\axis.jar;%AXIS_LIB%\axis-ant.jar;%AXIS_LIB%\commons-discovery-0.2.jar;%AXIS_LIB%\commons-logging-1.0.4.jar;%AXIS_LIB%\jaxrpc.jar;%AXIS_LIB%\saaj.jar;%AXIS_LIB%\log4j-1.2.8.jar;AXIS_LIB%\xml-apis.jar;%AXIS_LIB%\xercesImpl.jar;%AXIS_LIB%\mail.jar;AXIS_LIB%\wsdl4j-1.5.1.jar;%AXIS_LIB%\xerces.jar;%AXIS_LIB%\xmlsec-1.2.1.jar
    這里有幾點(diǎn)需要注意:中間不要有空格,包的名字可能有不同的版本,這時(shí)需要修改一下包名。

    四.測試
    安裝配置完畢后,應(yīng)測試一下是否tomcat、Axis可以正確運(yùn)行了。
    啟動(dòng)Tomcat服務(wù)器,在瀏覽器中訪問http://localhost:8080/axis/happyaxis.jsp,如果頁面顯示有錯(cuò)誤,則需要回頭檢查一下相關(guān)配置是否正確,如果瀏覽頁面能正確顯示出系統(tǒng)組件、屬性等參數(shù)配置信息,則表示安裝成功。現(xiàn)在可以開始開發(fā)你的Web Services應(yīng)用了。 

    五、服務(wù)的發(fā)布
    Axis提供了兩種服務(wù)發(fā)布方式,一種是即時(shí)發(fā)布(Instant Deployment),一種是定制發(fā)布(Custom Deployment)。

    1. 使用即時(shí)發(fā)布 Java Web Service(JWS)

      對即時(shí)發(fā)布的支持是Axis的特色之一,使用即時(shí)發(fā)布使用戶只需有提供服務(wù)的Java類的源代碼,即可將其迅速發(fā)布成Web服務(wù)。每當(dāng)用戶調(diào)用這類服務(wù)的時(shí)候,Axis會(huì)自動(dòng)進(jìn)行編譯,即使服務(wù)器重啟了也不必對其做任何處理,使用非常簡單快捷。

      使用即時(shí)發(fā)布首先需要一個(gè)實(shí)現(xiàn)服務(wù)功能的Java源文件,將其擴(kuò)展名改為.jws(Java Web Service的縮寫),然后將該文件放到“……\webapps\axis”目錄下即可。
     在此給出一個(gè)HelloWorld程序,其源碼如下:

    HelloWorld.java

    public class HelloWorld {
      public String sayHello()
      {
        return "HELLO WORLD!";
      }
    }


    將其放到“……\webapps\axis”目錄,通過訪問http://localhost:8080/axis/HelloWorld.jws?wsdl可以看到這個(gè)服務(wù)的WSDL描述文件,這說明HelloWorld服務(wù)被成功發(fā)布了。
    現(xiàn)在寫個(gè)客戶端程序訪問一下:

     1TestClient.java
     2
     3import org.apache.axis.client.Call;
     4import org.apache.axis.client.Service;
     5
     6import javax.xml.rpc.ParameterMode;
     7
     8public class TestClient
     9{
    10   public static void main(String [] args) throws Exception {
    11       
    12       String endpoint = "http://localhost:" +"8080"+ "/axis/HelloWorld.jws";//指明服務(wù)所在位置
    13
    14       Service  service = new Service();  //創(chuàng)建一個(gè)Service實(shí)例,注意是必須的!
    15       Call     call    = (Call) service.createCall();//創(chuàng)建Call實(shí)例,也是必須的!
    16
    17     call.setTargetEndpointAddress( new java.net.URL(endpoint) );//為Call設(shè)置服務(wù)的位置
    18
    19        call.setOperationName( "sayHello" );//注意方法名與HelloWorld.java中一樣!!
    20
    21         String res = (String) call.invoke( new Object[] {} );//返回String,沒有傳入?yún)?shù)
    22
    23                         System.out.println( res );
    24   }

    25}

    26

     


    下面我們介紹第二種發(fā)布方式,這是常用的。

    我們的第二種發(fā)布方式:
    1、將HelloWorld.java編譯成HelloWorld.class,放到%TOMCAT_HOME%\webapps\axis\WEB-INF\classes

          下

    2、在%TOMCAT_HOME%\webapps\axis\WEB-INF下新建deploy.wsdd文件,即SOAP服務(wù)發(fā)布描述文件

         deploy.wsdd

    <deployment xmlns="         <parameter name="className" value="HelloWorld"/>
            <parameter name="allowedMethods" value="sayHello"/>
        </service>
    </deployment>

    在DOS下轉(zhuǎn)換目錄到%TOMCAT_HOME%\webapps\axis\WEB-INF,命令:
    java org.apache.axis.client.AdminClient deploy.wsdd 后會(huì)出現(xiàn)

    Processing file deploy.wsdd
    <Admin>Done processing</Admin>

    這時(shí)你會(huì)發(fā)現(xiàn)目錄下多了一個(gè)server-config.wsdd文件,這就是AXIS的配置文件,以后所有的服務(wù)發(fā)布描述都會(huì)在里面找到。(當(dāng)然,你可以直接修改它,不用再寫deploy.wsdd)然后打開瀏覽器http://localhost:8080/axis/services/HelloWorld?wsdl,你就會(huì)看到你的服務(wù)已發(fā)布

    同樣用客戶端程序訪問一下:(注意和上邊的差別!!)

     

     1HelloClient.java
     2
     3import org.apache.axis.client.Call;
     4import org.apache.axis.client.Service;
     5
     6public class HelloClient
     7{
     8   public static void main(String [] args) throws Exception {
     9
    10       String endpoint = "http://localhost:" +"8080"+ "/axis/services/HelloWorld";//注意!差別僅僅在這里!!
    11
    12       Service  service = new Service();
    13       Call     call    = (Call) service.createCall();
    14       call.setTargetEndpointAddress( new java.net.URL(endpoint) );
    15        call.setOperationName("sayHello"  );
    16
    17         String res = (String) call.invoke( new Object[] {} );
    18
    19                         System.out.println( res );
    20   }

    21}

    22

     

    五.總結(jié)

      Web Services是未來網(wǎng)絡(luò)應(yīng)用的發(fā)展方向,SOAP和WSDL是Web Services的核心協(xié)議,Axis給出了一個(gè)很好的SOAP實(shí)現(xiàn),它使得開發(fā)Web Services應(yīng)用變得輕松而有趣。

    posted on 2007-12-12 14:42 都市淘沙者 閱讀(1790) 評論(0)  編輯  收藏 所屬分類: AJAX/XML/ANT/SOAP/WEBService

    主站蜘蛛池模板: 亚洲AV无码之国产精品| a在线观看免费视频| 亚洲欧洲精品国产区| 亚洲综合伊人久久大杳蕉| 日韩精品免费电影| 在线精品一卡乱码免费| 久久成人免费电影| 国产美女视频免费观看的网站| 亚洲精品无码一区二区| 亚洲成a人片7777| 亚洲AV无码专区亚洲AV伊甸园| 亚洲毛片av日韩av无码| 国内一级一级毛片a免费| 91网站免费观看| 最近中文字幕大全免费视频| 免费看搞黄视频网站| 久久最新免费视频| 国产国产人免费人成成免视频 | 久9热免费精品视频在线观看| yellow视频免费看| 无码日韩人妻AV一区免费l| 国产精品亚洲а∨无码播放麻豆| 亚洲精品久久无码| 亚洲精品中文字幕| 亚洲狠狠色丁香婷婷综合| 亚洲中文字幕久久精品蜜桃| 亚洲色欲色欲www| 7777久久亚洲中文字幕| 亚洲高清有码中文字| 亚洲精品第一综合99久久| 亚洲精品综合在线影院| 亚洲天堂2017无码中文| 亚洲熟伦熟女专区hd高清| 亚洲一区二区无码偷拍| 亚洲精品国产高清在线观看| 亚洲国产欧美国产综合一区| 自拍偷自拍亚洲精品播放| 日本一区二区三区在线视频观看免费 | 亚洲美国产亚洲AV| 国产亚洲午夜精品| 一级黄色免费大片|