MyEclipse6.5上基於JAX-WS開發Webservice
- 摘要:本文介紹MyEclipse6.5上基於JAX-WS開發Webservice
環境說明:
MyEclpose 6.5 blue Milestone-1
jdk 1.6.0_15
tomcat 6.0
創建併發布服務器端應用
1.新建web service project。
設置如下圖。
2.建立一個實現類,代碼如下:
public class addImpl {
public double add(double num1,double num2){
return num1+num2;
}
}
這裏只需要實現類,不再像XFIRE還需要一個接口。
3.建立web service
選擇工程名,點擊工具欄的new web service按鈕。
然後如下配置:
接着(在JAVA BEAN中輸入實現類的名稱,選擇generate wsdl in project):
點擊finish後包中多出一個該實現類的代理類addImplDelegate.java
4.導入包
工程-屬性-build path-add library-myeclipse libraries導入以下兩個包:
如果缺少這兩個包,tomcat啓動時會出現以下錯誤:
java.lang.ClassNotFoundException: com.sun.xml.ws.transport.http.servlet.WSServletContextListener
5.啓動tomcat,驗證並獲取WSDL文件
啓動tomcat後在瀏覽器中輸入http://localhost:8080/jaxws_src/addImplPort並點擊頁面中的鏈接查看WSDL文件,如果該文件能正確顯示證明服務器端大功告成。
wsdl文件的uri是http://localhost:8080/jaxws_src/addImplPort?wsdl(你可能會問URI中的addImplPort從何而來,其實這個名字由圖4中的Services port設定)
創建客戶端調用:
(不要關閉TOMCAT啊,不然。。。。。)
1.新建java project,建立一包(包名安需求)net.
2.選擇包點new web services client(參照本文的第二張圖)
ps:有別與xfire,客戶端不一定是服務端相同類型的web services client,可以是一個普通的工程也OK!!
3.指定wsdl的URI或wsdl的文件路徑(見上)。
程序在net包中生成一些類如圖:
ps:圖中的add.java是一個javabean來,聰明的你應該知道它有啥用了吧!!
4.新建一個測試類:
import net.AddImplDelegate;
import net.AddImplService;
public class test {
public static void main(String[] args) {
AddImplService service=new AddImplService();
AddImplDelegate d= service.getAddImplPort();
double result= d.add(15.6, 12.5);
System.out.println(result);
}
}
ok!大功告成啦!!