Eclipse3.2+MyEclipse5.5M1+axis2_1.1.1開發Web Services

一、環境準備

1.1軟件下載準備
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.首先搭建開發環境,將下載的Eclipse解壓縮到一個目錄,D:/eclipse-SDK-3.2-win32。
B.將下載到的Axis 的兩個plug-in解壓縮到D:/Axis-Plugin-Dir/eclipse/plugins目錄下

C.在eclipse目錄下創建D:/eclipse-SDK-3.2-win32/eclipse/links,新建文件名爲:axis-eclipse-plugin.link

內容爲:
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目錄。然後啓動MyEclipse,選擇“File->New->Other”可以看到如下的兩個界面
1、Axis2 plugins


2、Web Servieces plugins

E.下面開始搭建Web Services的部署環境。

將下載的tomcat5.5解壓縮到一個目錄D:/Tomcat5.5。

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

G.啓動Tomcat(D:/Tomcat5.5/bin/startup.bat),打開瀏覽器輸入並訪問:http://127.0.0.1:8080/axis2 來查看,結果如下圖,表示axis2已經工作正常。

二、快速開始

2.1創建webApps項目

啓動MyEclipse,新建立一個WebAppsFile->New->Project->Web Project,Project Name SayHello
,其他保持不改變。

2.2創建WSDL文件

A.選擇File->New-Other菜單,進入後找到MyEclipse->Web Services並選擇WSDL.如下圖:

B.點擊下一步按鈕,顯示如下圖:

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

D.下一步》所有界面內容取默認值,Finish!

E.顯示WSDL設計器的界面如下:

F.修改圖中標紅色的部分:
修改圖中的NewOperation爲SayHello;
修改input中parameters爲SayHelloRequest;
修改output中parameters爲SayHelloResponse;
修改完後如下圖:

紅色框內爲變化的內容,WSDL文件修改完畢。

2.3WSDL生成Java代碼

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

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

E.下一步後,選擇SayHello/src目錄,如下圖:

Finish !

F.重複從A到C的步驟,然後生成服務端代碼,設置如下:


後面同E。

G.結束後,刷新項目,如圖:

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

H.修改包名爲org.example.www.sayhello並從tomcat中的axis2 web應用WEB-INF/lib目錄中加載所有jar包到項目的classpath中。

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

2.4編寫業務代碼

打開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”,從對話框中選取“Axis2 Wizards”下面的“Axis2 Services Archive”.點擊“Next”進入下一個頁面

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

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

D.點擊“Next”,將記入最後一個頁面,此處有兩個選項,一個是輸出目錄一個是處處文件名稱。這裏的輸出文件名稱給的是SayHello。點擊“Finish”完成。

2.6部署

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

B.重新啓動Tomcat

C.打開瀏覽器,輸入http://127.0.0.1:8080/axis2,並點擊其中的“services”鏈接可以看到SayHello已經被部署。點擊SayHello提供的連接可以看到與之對應的WSDL。

2.7調用測試
A.修改SayHelloTest.java文件中的方法
testSayHello的內容爲:

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 完成測試!

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