[Develop][JAVA][J2EE]Eclipse SDK 之 Java Web service部署

[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開發工具

[Develop]Java Web Service

错误:javax.activation.DataHandler and javax.mail.internet.MimeMultipart

Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled

java.lang.ClassNotFoundException的解決方法

web项目引用Java项目,连接报错error HTTP Status 500 - Servlet execution threw an exception