速動畫教程第三十一集
下載地址:www.oksonic.cn www.oksonic.com.cn
使用Axis2構建Hello應用
A. 環(huán)境準備
a. Eclipse3.2.2
b. MyEclipse5.5m2
c. Axis2.1.1 War包 http://ftp.wayne.edu/apache/ws/axis2/1_1_1/axis2.war
d. 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
B. 開發(fā)步驟
a. 創(chuàng)建一個web項目,名稱為hello
b. 生成wsdl文件
打開MyEclipse的web service中的wsdl向?qū)?/span>
文件名為hello.wdsl,下一步
目標地址為http://www.oksonic.cn/hello/,其它為默認,完成
修改hello.wsdl文件為以下格式
C. 根據(jù)wsdl文件生成客戶端java代碼
使用Ctrl + N 打開Axis Wizards中的Axis2 Code Generator
使用默認的第一項,下一步
選擇生成的hello.wsdl文件D:\oksonic\workspace\hello\src\hello.wsdl,下一步
參照下圖進行配置
解壓Axis2.1.1 文件到C盤,然后參照下圖進行配置
將加入進來的lib目錄移到WEB-INF目錄下,刷新一下項目就可以看到生成的代碼了。
D. 根據(jù)wsdl文件生成服務端java代碼
使用Ctrl + N 打開Axis Wizards中的Axis2 Code Generator
使用默認的第一項,下一步
選擇生成的hello.wsdl文件D:\oksonic\workspace\hello\src\hello.wsdl,下一步
參照下圖進行配置
下一步
E. 修改HelloSkeleton代碼,內(nèi)容如下:
package org.example.www.hello; public class HelloSkeleton { public org.example.www.hello.HelloResponse hello( org.example.www.hello.Hello param0) { try { HelloResponse response = new HelloResponse(); response.setOut(param0.getIn() + "歡迎你的到來!"); return response; } catch (UnsupportedOperationException e) { throw e; } } }
F. 發(fā)布項目
1. 打開Axis2的向?qū)?,選擇Axis2 Service Archiver
2. 選擇class文件所在的目錄,如:D:\oksonic\workspace\hello\WebRoot\WEB-INF\classes
3. 選擇項目中resources目錄下的hello.wsdl文件如:D:\oksonic\workspace\hello\resources\hello.wsdl
4. 跳過一下步,這里選擇resources目錄下的service.xml文件如:D:\oksonic\workspace\hello\resources\services.xml
5. 這一步是輸出一個jar文件或是aar都可以,上面是輸出路徑,下面是文件名,如:C:\Documents and Settings\Administrator\桌面,Hello.jar
6. 將axis2.1.1 .war文件拷貝到tomcat安裝路徑下的webapps目錄下,這里可以選擇啟動tomcat來解開axis2.1.1.war,也可以直接將文件改名為zip后解壓,解壓后的文件夾名稱為axis2,然后將Hello.jar拷貝到asix2.1.1/WEB-INF/service目錄下
G. 測試
啟動tomcat服務,打開IE在地址欄中輸入http://localhost/axis2,進入頁面后點擊Services鏈接,在下一個頁面中將會看到hello服務的鏈接,點開此鏈接就可以看到服務信息了。
接下來使用客戶端測試代碼進行測試,修改HelloTest.java文件中的testHello方法,內(nèi)容如下:
public void testHello() throws java.lang.Exception { String url = "http://localhost/axis2/services/Hello"; HelloStub stub = new HelloStub(url); Hello hello = (Hello) getTestObject(Hello.class); hello.setIn("oksonic"); System.out.println(stub.Hello(hello).getOut()); assertNotNull(stub.Hello(hello)); }
這里使用到了Junit,所以還需要將Junit的jar包加到項目中
為了制作更多更好的錄像教程,希望大家多多提供相關資料?。?!
聯(lián)系方法:
http://www.oksonic.cn
Email: oksonic@tom.com
QQ: 71279650