環境: Eclipse HELIOS + JBoss Tool + Java 1.6 + JBoss 6
STEP1: 環境設定.
1. 建立一台Server
Runtime Environment: JBoss 6.0 Runtime
Home Directory: 自己本機JBoss的目錄
在下方的View: Servers處按滑鼠右鍵新增一Server
選擇 JBoss AS 6.0
新增完成後會出現如下圖
在新產生的Server上點兩下調整Server的設定
選擇Deployment →Use the JBoss deploy folder
2. 設定Eclipse Preferences
Web Services → JBossWS Preferences → Add
Home Directory: 自己本機JBoss的目錄
Web Services → Server and Runtime:
Server runtime: JBoss AS 6.0
Web service runtime: JBossWS
STEP2: 建立與部署Web Service Server端
1. 新增Dynamic Web Project
Project name: myws (可自取)
Target runtime: JBoss 6.0 Runtime
Dynamic web module version: 2.5
Configuration: Default Confguration for JBoss 6.0 Runtime.
2. 在project中新增package: ws,
3. 在project中新增java程式, HelloWS
package ws;
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService(name = "HelloWorld", serviceName = "HelloWorldService")
public class HelloWS {
@WebMethod
public String getHello(String name){
return "hello " + name;
}
}
4. 在HelloWS.java上按滑鼠右鍵, 選擇Web Services → Create Web Service
記得勾選Generate WSDL file與Update the default Web.xml
接著Start Server → Finish
STEP 3: 測試Server端是否部署成功
1. 網址: http://localhost:8080/ 選擇 JBoss Web Services Console → View a list of deployed services, 出現如下畫面就代表部署成功了,恭喜!
STEP 4: 撰寫與測試Web Service Client端程式
1. 新增Dynamic Web Project
Project name: wsclient (可自定)
在Project上按右鍵New → Other → Web Services → Web Service Client
程式會自動產生ClientSample.java
2. 測試Client端
修改一下ClientSample.java
package ws.clientsample;
import ws.*;
public class ClientSample {
public static void main(String[] args) {
System.out.println("***********************");
System.out.println("Create Web Service Client...");
HelloWorldService service1 = new HelloWorldService();
System.out.println("Create Web Service...");
HelloWorld port1 = service1.getHelloWorldPort();
System.out.println("Call Web Service Operation...");
System.out.println("Server said: " + port1.getHello("Miles"));
//Please input the parameters instead of 'null' for the upper method!
System.out.println("Create Web Service...");
HelloWorld port2 = service1.getHelloWorldPort();
System.out.println("Call Web Service Operation...");
System.out.println("Server said: " + port2.getHello("Betty"));
//Please input the parameters instead of 'null' for the upper method!
System.out.println("***********************");
System.out.println("Call Over!");
}
}
看到下面畫面就代表成功啦!
Create Web Service...
Call Web Service Operation...
Server said: hello Miles
Create Web Service...
Call Web Service Operation...
Server said: hello Betty
***********************
Call Over!