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

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

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

    無題

    拿個學位是騙自己的。學問是一輩子的。

    統計

    留言簿(3)

    閱讀排行榜

    評論排行榜

    如何使用Eclipse開發Axis應用并部署到Tomcat

    這是我繼《如何在Tomcat上安裝配置Axis》之后的第二篇技術備忘,與大家分享。所涉及的所有軟件仍然都是開源軟件(開源傳萬世,因有我參與?。1酒僭O《如何在Tomcat上安裝配置Axis》中描述的所有步驟你都已完成。

    首先,列出在《如何在Tomcat上安裝配置Axis》所用軟件基礎之上還需要用到的軟件:
    1.Eclipse SDK:eclipse-SDK-3.2-win32.zip
    2.Eclipse SDK 語言插件:NLpack1-eclipse-SDK-3.2-win32.zip
    版本問題仍然需要關注,最好與上述一致,下面我們從安裝配置Eclipse開始:

    一.?安裝配置Eclipse
    將eclipse-SDK-3.2-win32.zip解壓,拷貝其下的eclipse文件夾到任何你所希望的安裝路徑,例如:D:\Eclipse。好了,現在已經可以通過運行D:\Eclipse\eclipse下的eclipse.exe啟動Eclipse了,但是如果還想安裝語言插件漢化它的話,現在最好先別啟動。先安裝語言插件,采用link方式,解壓NLpack1-eclipse-SDK-3.2-win32.zip,在D:\Eclipse\eclipse下新建兩個文件夾例如:links和Language Pack,將解壓得到的NLpack1-eclipse-SDK-3.2-win32文件夾拷貝到Language Pack文件夾中,并在links文件夾下新建一個文本文件,例如命名為:language pack.link,在文件中加入一行:path=D:\\Eclipse\\eclipse\\Language Pack\\NLpack1-eclipse-SDK-3.2-win32并保存,注意分隔符是兩個\?,F在再啟動Eclipse,可以看到它已經被漢化了(如果還沒有被漢化,不要緊,可以先關閉它,然后帶參數-clean再啟動試試,目的達到后,以后啟動就不要帶這參數了,否則影響啟動速度)。

    二.?在Eclipse中創建Axis應用
    啟動Eclipse,選擇工作空間路徑(例如D:\My_Eclipse_WorkSpace),從歡迎界面轉至工作臺,必要的話,先通過窗口——首選項——Java中的編譯器和已安裝的JRE兩個設置,將編譯器一致性級別和JDK安裝路徑設置好(當然也可以設置JRE安裝路徑,不過這樣在編寫Java代碼時Eclipse的提示信息無法鏈接到類庫源碼,似乎不太方便)。
    接下來,選擇Java透視圖,新建一個Java項目,例如項目名為MoneyManage。鼠標右鍵單擊包資源管理器中的項目名MoneyManage,新建一個文件夾,命名為lib,選中lib文件夾,右鍵單擊,選擇導入命令,選擇常規下的文件系統作為導入源,單擊下一步瀏覽我們先前建好的C:\Tomcat5.0\webapps\axis\WEB-INF\lib目錄,勾選其中的所有jar文件,單擊完成。右擊項目名MoneyManage,選擇屬性——Java構建路徑——庫,點擊添加Jar按鈕,選中剛才導入到lib文件夾下的所有Jar文件,點擊確定將它們都加入項目構建路徑。這樣就將所有我們開發可能涉及到的庫都導入了項目。
    緊接著我們就可以在項目MoneyManage下新建一個包(例如也叫MoneyManage)在其中實現一些類來提供WS的方法了。
    例如,這里我們實現了4個類Action、Admin、MoneyManage和moneyClient。

    三.?將應用部署到Tomcat發布為WS
    例如,我們希望將moneyClient中的所有可訪問(public)方法作為WS發布。
    在項目中新建一XML文件,命名為server-config.wsdd,內容如下:

    ?1 <? xml?version="1.0"?encoding="UTF-8" ?>
    ?2 < deployment? xmlns ="http://xml.apache.org/axis/wsdd/"
    ?3 ?xmlns:java ="http://xml.apache.org/axis/wsdd/providers/java" >
    ?4 ? < globalConfiguration >
    ?5 ?? < parameter? name ="adminPassword" ?value ="admin" ? />
    ?6 ?? < parameter? name ="attachments.implementation"
    ?7 ???value ="org.apache.axis.attachments.AttachmentsImpl" ? />
    ?8 ?? < parameter? name ="sendXsiTypes" ?value ="true" ? />
    ?9 ?? < parameter? name ="sendMultiRefs" ?value ="true" ? />
    10 ?? < parameter? name ="sendXMLDeclaration" ?value ="true" ? />
    11 ?? < parameter? name ="axis.sendMinimizedElements" ?value ="true" ? />
    12 ?? < requestFlow >
    13 ??? < handler? type ="java:org.apache.axis.handlers.JWSHandler" >
    14 ???? < parameter? name ="scope" ?value ="session" ? />
    15 ??? </ handler >
    16 ??? < handler? type ="java:org.apache.axis.handlers.JWSHandler" >
    17 ???? < parameter? name ="scope" ?value ="request" ? />
    18 ???? < parameter? name ="extension" ?value =".jwr" ? />
    19 ??? </ handler >
    20 ?? </ requestFlow >
    21 ? </ globalConfiguration >
    22 ? < handler? name ="LocalResponder"
    23 ??type ="java:org.apache.axis.transport.local.LocalResponder" ? />
    24 ? < handler? name ="URLMapper"
    25 ??type ="java:org.apache.axis.handlers.http.URLMapper" ? />
    26 ? < handler? name ="Authenticate"
    27 ??type ="java:org.apache.axis.handlers.SimpleAuthenticationHandler" ? />
    28 ? <!-- ?服務名? -->
    29 ? < service? name ="moneyClient" ?provider ="java:RPC" >
    30 ?? <!-- ?服務類名? -->
    31 ?? < parameter? name ="className" ?value ="MoneyManage.moneyClient" ? />
    32 ?? <!-- ?允許訪問所有方法? -->
    33 ?? < parameter? name ="allowedMethods" ?value ="*" ? />
    34 ? </ service >
    35 ? < transport? name ="http" >
    36 ?? < requestFlow >
    37 ??? < handler? type ="URLMapper" ? />
    38 ??? < handler
    39 ???? type ="java:org.apache.axis.handlers.http.HTTPAuthHandler" ? />
    40 ?? </ requestFlow >
    41 ? </ transport >
    42 ? < transport? name ="local" >
    43 ?? < responseFlow >
    44 ??? < handler? type ="LocalResponder" ? />
    45 ?? </ responseFlow >
    46 ? </ transport >
    47 </ deployment >
    48


    注意以上文件中的service標簽,就代表了一個WS服務,服務名為moneyClient;第一個parameter子標簽,其value屬性為待發布成服務的方法所在的類名;第二個parameter子標簽表明將類的所有方法發布,允許服務調用者訪問第一個parameter子標簽指出類的所有可訪問方法。
    將編寫好的server-config.wsdd文件拷入C:\Tomcat5.0\webapps\axis\WEB-INF目錄,并將所有4個類都編譯為class文件后按包結構(可以在D:\My_Eclipse_WorkSpace\MoneyManage\bin下找到現成的)拷入C:\Tomcat5.0\webapps\axis\WEB-INF\classes目錄。
    注意,凡是開發中用到的額外第三方jar庫文件,除了在項目構建路徑中添加外,也要在C:\Tomcat5.0\webapps\axis\WEB-INF\lib下添加,也要在C:\Tomcat5.0\common\lib下添加。
    還算簡單,部署完成。

    四.?測試發布的WS
    可以測試了,看看我們是否發布成功。
    啟動Tomcat服務,如果服務已啟動,則先關閉它,并重新啟動。
    通過瀏覽器訪問http://localhost:8080/axis/services/moneyClient?wsdl,如果看到顯示出wsdl文件,則表明WS服務發布成功。
    進而,我們還可以通過具體編程來測試調用服務的某些方法。例如,下面這個類AccessTest就調用了我們發布的moneyClient服務中的getStatus方法來查看用戶名為admin密碼為change的帳戶的狀態是否可用。

    ?1 package ?MoneyManage;
    ?2
    ?3 import ?javax.xml.namespace.QName;
    ?4
    ?5 import ?org.apache.axis.client.Call;
    ?6 import ?org.apache.axis.client.Service;
    ?7
    ?8 public ? class ?AccessTest? {
    ?9 ???? public ? void ?Access()? {
    10 ???????? try ? {
    11 ????????????String?endPoint? = ? " http://localhost:8080/axis/services/moneyClient?wsdl " ;
    12 ????????????Service?service? = ? new ?Service();
    13 ????????????Call?call? = ?(Call)?service.createCall();
    14 ????????????call.setTargetEndpointAddress(endPoint);
    15 ????????????
    16 ????????????call.setOperationName( new ?QName( " moneyClient " ,? " getStatus " ));
    17 ????????????String?result? = ?(String)?call.invoke( new ?Object[]? {? " admin " ,
    18 ???????????????????? " change " ?}
    );
    19 ????????????System.out.println(result);
    20 ????????????
    21 ????????}
    ? catch ?(Exception?e)? {
    22 ????????????e.printStackTrace();
    23 ????????????System.out.println( " access?error! " );
    24 ????????}

    25 ????}

    26
    27 ???? public ? static ? void ?main(String?args[])? {
    28 ????????AccessTest?at? = ? new ?AccessTest();
    29 ????????at.Access();
    30 ????}

    31
    32 }


    我們也可以通過一些工具來對服務進行測試與調用,例如王詠剛編寫的wsCaller 1.0。

    我這樣利用Axis和Tomcat發布服務的方法是簡單的,因而,服務在可靠性、安全性和客戶容量等等方面都是脆弱的,如果要保證這些特性,還必須進一步深入對Axis和Tomcat進行更深層次的應用研究。似乎把應用服務器從Tomcat換為JBOSS會更好?

    posted on 2006-12-17 08:43 閱讀(3492) 評論(4)  編輯  收藏 所屬分類: Web Service

    評論

    # re: 如何使用Eclipse開發Axis應用并部署到Tomcat 2007-07-27 15:41 wxlbxp

    寫得很好啊!請問一下你在文中提到的四個類Action、Admin、MoneyManage和moneyClient代碼在哪里啊?我是新手想參考一下啊!謝謝!  回復  更多評論   

    # re: 如何使用Eclipse開發Axis應用并部署到Tomcat[未登錄] 2008-05-14 10:53 haha

    請問一下你在文中提到的四個類Action、Admin、MoneyManage和moneyClient代碼在哪里???我是新手想參考一下?。≈x謝!  回復  更多評論   

    # re: 如何使用Eclipse開發Axis應用并部署到Tomcat[未登錄] 2008-05-14 10:56 haha

    希望您能回復我,我的郵箱:jyli2007@yahoo.cn 也希望能和您交流,我的QQ:10052589 MSN:jyli2008@hotmail.com 謝謝您!  回復  更多評論   

    # re: 如何使用Eclipse開發Axis應用并部署到Tomcat 2008-05-14 12:52 fenghao

    @haha
    這4個類是我舉的例子,這4個類里面是不會包含任何與Axis相關的東西的,你用你自己的類的代碼相應地修改就可以了。  回復  更多評論   


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 1000部啪啪未满十八勿入免费| 色吊丝免费观看网站| 亚洲人成网站影音先锋播放| 亚洲熟妇丰满多毛XXXX| 亚洲综合无码AV一区二区| 色噜噜AV亚洲色一区二区| 亚洲色无码一区二区三区| 亚洲色精品vr一区二区三区| 亚洲日韩精品无码专区网址| 亚洲午夜国产精品无码| 亚洲伊人久久大香线蕉综合图片| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 亚洲不卡AV影片在线播放| 四虎成人免费观看在线网址| 四虎影视大全免费入口| 日韩一区二区免费视频| 国产一区二区三区免费在线观看| 伊在人亚洲香蕉精品区麻豆| 亚洲国产成人精品无码久久久久久综合 | 一区视频免费观看| 国产在线观看无码免费视频| 国产三级在线免费| **一级毛片免费完整视| 毛片免费全部播放一级| 亚洲AV无码之日韩精品| 亚洲日韩v无码中文字幕| 亚洲欧洲日产国产综合网| 亚洲国产日产无码精品| 亚洲第一第二第三第四第五第六| 特级毛片全部免费播放| GOGOGO免费观看国语| 99久热只有精品视频免费观看17| 国产桃色在线成免费视频| 在线日韩av永久免费观看| 中文字幕亚洲一区二区三区| 亚洲国产综合专区在线电影| 亚洲专区一路线二| 黄色三级三级免费看| 久草福利资源网站免费| 国产三级在线观看免费| 亚洲色偷偷狠狠综合网|