Terry.Li-彬

          虛其心,可解天下之問;專其心,可治天下之學(xué);靜其心,可悟天下之理;恒其心,可成天下之業(yè)。

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            143 隨筆 :: 344 文章 :: 130 評(píng)論 :: 0 Trackbacks
          一、環(huán)境準(zhǔn)備

          1.1軟件下載準(zhǔn)備
          Tomcat 5.5下載地址:
          http://tomcat.apache.org/download-55.cgi#5.5.20

          Axis War包:
          http://ftp.wayne.edu/apache/ws/axis2/1_1_1/axis2.war

          Axis Eclipse plug-in(代碼生成工具和打包工具):
          http://apache.justdn.org/ws/axis2/tools/1_1_1/axis2-eclipse-codegen-wizard.zip
          http://apache.justdn.org/ws/axis2/tools/1_1_1/axis2-eclipse-service-archiver-wizard.zip

          Eclipse 3.2:
          http://www.eclipse.org/

          MyEclipse5.5M1:
          http://www.myeclipseide.com/

          1.2安裝

          A.首先搭建開發(fā)環(huán)境,將下載的Eclipse解壓縮到一個(gè)目錄,D:\eclipse-SDK-3.2-win32。
          B.將下載到的Axis 的兩個(gè)plug-in解壓縮到D:\Axis-Plugin-Dir\eclipse\plugins目錄下。
          C.在eclipse目錄下創(chuàng)建D:\eclipse-SDK-3.2-win32\eclipse\links,新建文件名為:axis-eclipse-plugin.link

          內(nèi)容為:
          path=D:\\Axis-Plugin-Dir


          D.安裝MyEclipse5.5M1,將eclipse目錄指向D:\eclipse-SDK-3.2-win32,刪除D:\eclipse-SDK-3.2-win32\eclipse\configuration下的org.eclipse.update目錄。然后啟動(dòng)MyEclipse,選擇“File->New->Other”可以看到如下的兩個(gè)界面。
          1、Axis2 plugins


          2、Web Servieces plugins


          E.下面開始搭建Web Services的部署環(huán)境。

          將下載的tomcat5.5解壓縮到一個(gè)目錄D:\Tomcat5.5。

          F.將axis2.war包拷貝到tomcat安裝目錄下的webapps目錄。

          G.啟動(dòng)Tomcat(D:\Tomcat5.5\bin\startup.bat),打開瀏覽器輸入并訪問:http://127.0.0.1:8080/axis2 來查看,結(jié)果如下圖,表示axis2已經(jīng)工作正常。


          二、快速開始

          2.1創(chuàng)建webApps項(xiàng)目

          啟動(dòng)MyEclipse,新建立一個(gè)WebApps(File->New->Project->Web Project),給Project Name 為SayHello,其他保持不改變。

          2.2創(chuàng)建WSDL文件

          A.選擇File->New-Other菜單,進(jìn)入后找到MyEclipse->Web Services并選擇WSDL.如下圖:



          B.點(diǎn)擊下一步按鈕,顯示如下圖:



          C.選擇“src”目錄作為“Enter or select the parent folder”的值,“File name”值給定為SayHello.wsdl。

          D.下一步》所有界面內(nèi)容取默認(rèn)值,F(xiàn)inish!

          E.顯示W(wǎng)SDL設(shè)計(jì)器的界面如下:



          F.修改圖中標(biāo)紅色的部分:
          修改圖中的NewOperation為SayHello;
          修改input中parameters為SayHelloRequest;
          修改output中parameters為SayHelloResponse;
          修改完后如下圖:


          紅色框內(nèi)為變化的內(nèi)容,WSDL文件修改完畢。

          2.3從WSDL生成Java代碼

          A.選擇菜單“File->New->Other”,從對(duì)話框中選取“Axis2 Wizards”下面的“Axis2 Code Generator”.點(diǎn)擊“Next”


          B.進(jìn)入下一個(gè)頁面,保持“Generate java source code from WSDL file”被選中,點(diǎn)擊“Next”進(jìn)入下一步。
          C.點(diǎn)擊“Browse”來選取存放在src目錄下的SayHello.wsdl文件,“Next”進(jìn)入下一步。
          D.首先生成客戶端代碼和測(cè)試代碼,設(shè)置如下:


          E.下一步后,選擇SayHello\src目錄,如下圖:


          Finish !

          F.重復(fù)從A到C的步驟,然后生成服務(wù)端代碼,設(shè)置如下:



          后面同E。

          G.結(jié)束后,刷新項(xiàng)目,如圖:



          這是由于沒有將Axis2的jar包放入class path 中以及源代碼的package不為org.example.www.sayhello引起的。

          H.修改包名為org.example.www.sayhello并從tomcat中的axis2 web應(yīng)用WEB-INF/lib目錄中加載所有jar包到項(xiàng)目的classpath中。

          I.在SayHelloTest.java 中引入junit包。

          2.4編寫業(yè)務(wù)代碼

          打開SayHelloSKeleton.java文件其中的方法如下:
          程序代碼 程序代碼
          public org.tonyzhangcn.ws.sayhello.SayHelloResponse SayHello(org.tonyzhangcn.ws.sayhello.SayHelloRequest param0)

          {

          // Todo fill this with the necessary business logic

          throw new java.lang.UnsupportedOperationException();

          }

          修改為:
          程序代碼 程序代碼
          public org.tonyzhangcn.ws.sayhello.SayHelloResponse SayHello(org.tonyzhangcn.ws.sayhello.SayHelloRequest request)
          {
                try    {
                       SayHelloResponse response = new SayHelloResponse();
                       response.setOut("Hi,"+request.getIn()+".How are you?");
                       return response;
              }catch(UnsupportedOperationException e)
                 {
                     throw e;
             }
          }

          2.5打包

          A.選擇菜單“File->New->Other”,從對(duì)話框中選取“Axis2 Wizards”下面的“Axis2 Services Archive”.點(diǎn)擊“Next”進(jìn)入下一個(gè)頁面。

          B.選擇編譯好的class文件所在目錄(本項(xiàng)目應(yīng)該是WebRoot下面WEB-INF/classes),“Next”進(jìn)入下一步。

          C.選擇WSDL文件所在目錄,此處為src目錄下的SayHello.wsdl文件。“Next”,再“Next”。選擇services.xm文件。

          D.點(diǎn)擊“Next”,將記入最后一個(gè)頁面,此處有兩個(gè)選項(xiàng),一個(gè)是輸出目錄一個(gè)是處處文件名稱。這里的輸出文件名稱給的是SayHello。點(diǎn)擊“Finish”完成。

          2.6部署

          A.將打包好的文件SayHello.jar拷貝到Tomcat中已經(jīng)部署的Axis2應(yīng)用的WEB-INF/services目錄下面。

          B.重新啟動(dòng)Tomcat。

          C.打開瀏覽器,輸入http://127.0.0.1:8080/axis2,并點(diǎn)擊其中的“services”鏈接可以看到SayHello已經(jīng)被部署。點(diǎn)擊SayHello提供的連接可以看到與之對(duì)應(yīng)的WSDL。

          2.7調(diào)用測(cè)試
          A.修改SayHelloTest.java文件中的方法testSayHello的內(nèi)容為:
          程序代碼 程序代碼
          public void testSayHello() throws java.lang.Exception {
            String url="http://localhost:8080/axis2/services/SayHello";
            org.example.www.sayhello.SayHelloStub stub = new org.example.www.sayhello.SayHelloStub(url);
            org.example.www.sayhello.SayHelloStub.SayHello request = (org.example.www.sayhello.SayHelloStub.SayHello) getTestObject(org.example.www.sayhello.SayHelloStub.SayHello.class);
            request.setIn("Teamlet");
            System.out.println(stub.SayHello(request).getOut());
            assertNotNull(stub.SayHello(request));
          }

          從菜單中選擇“Run->Run as->JUnit Test 完成測(cè)試!
          posted on 2007-09-10 14:10 禮物 閱讀(830) 評(píng)論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 忻城县| 宝应县| 志丹县| 扎囊县| 琼海市| 曲周县| 耒阳市| 商河县| 雷山县| 恩施市| 灵武市| 鄂尔多斯市| 宜良县| 灵石县| 梁山县| 旺苍县| 宜章县| 隆安县| 凤凰县| 新泰市| 顺昌县| 辽宁省| 鞍山市| 云龙县| 广德县| 闵行区| 循化| 砚山县| 大化| 安陆市| 梅河口市| 凤翔县| 桂东县| 斗六市| 平昌县| 保定市| 兰考县| 梁河县| 峨眉山市| 澄城县| 隆尧县|