[Develop][JAVA][J2EE]Eclipse SDK 之 Java Web service部署:
節省專案開發時程,提供其他程式語言,調用既有的商務邏輯。
提供客製化平台,調用Java web service。
相關工具
-
1.Eclipse SDK version-4.2.2
-
JAVA JDK-jdk1.7.0_21
-
Tomcat-apache-tomcat-7.0.105
-
Apache CXF2-apache-cxf-2.7.18
【PART I】環境部署
環境變數設定-新增系統變數
變數名稱(N) | 變數值(V) |
CATALINA_HOME | C:\apache-tomcat-7.0.105 |
CXF_HOME | C:\apache-cxf-2.7.18 |
JAVA_HOME | C:\Program Files\Java\jdk1.7.0_21 |
再將%CATALINA_HOME%bin與%CXF_HOME%bin加入Path(記得以;區隔)
Libraries匯入 : Project-->Properties-->Java Build Path-->Libraries-->Add External JARs
Tomcat設定 : Windows-->Preferences-->Server-->Runtime Environments
指定到apache-tomcat-7.0.105資料夾路徑(環境變數必須設定)
CXF 2設定 : Windows-->Preferences-->Web Services-->CXF 2.x Preferences
指定到apache-cxf-2.7.18資料夾路徑(環境變數必須設定)
【PART II】部署Server端程式
點選下方Servers-->空白處右鍵-->New-->Server
新增專案:File-->New-->Other-->Web資料夾下的Dynamic Web Project
若無特別需求,採用預設即可Finish
新增andyTest類別
package andyServer;
public class AndyTest {
public String andy(String message) {
return "Andy:" + message;
}
}
點選AndyTest.java右鍵-->Web Services-->Create Web Services
Web Service Type處選擇Button up
上圖紅框處點選後,將配置設定為下圖
完成配置後,若無特別需求,點選Next,直到start server
CXF套件會自動幫我們產出Web Service的相關檔案
開啟網址 : http://127.0.0.1:8080/andyServer/services/AndyTestPort?wsdl
(專案名稱) (類別名稱)
【PART III】部署Client端程式
新增專案:File-->New-->Java Project
對剛新增的專案,src按右鍵New->Other-->Web Services資料夾下的Web Service Client
Service definition處輸入web service網址(http://127.0.0.1:8080/andyServer/services/AndyTestPort?wsdl)
上圖紅框處點選後,將配置設定為下圖
Next後,如下圖點選Finish
Finish後,套件會自動產生Web Service Client的相關類別
新增andyDemo類別
package andyServer;
public class andyDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
AndyTest client = new AndyTestProxy ();
try {
System.out.println(client.andy("Hello Word~~"));
}
catch(Exception e){
e.printStackTrace();
}
}
}
Run andyDemo,client端會連接Tomcat Server上的Web Service,並帶回執行結果
打完收工。
補充
若有使用到API,除了Java Build Path --> Libraries的部分加入。(專案 Main()執行沒問題)
在單元測試時,其他專案調用時,Deployment Assembly必須加入,否則找不到資源。
Reference
用Eclipse 建立JAVA Web Service 教學
[J2EE] 安裝Tomcat 伺服器到NetBeans開發工具
错误:javax.activation.DataHandler and javax.mail.internet.MimeMultipart
java.lang.ClassNotFoundException的解決方法
web项目引用Java项目,连接报错error HTTP Status 500 - Servlet execution threw an exception