MyEclipse Web Services是建立在XFire JavaSOAP架構和工 具基 礎上的, XFire是一款開源的JavaSOAP架構。它擁有一個輕量級的資訊處理模 塊,通過STAX來與SOAP資訊相結合。提供了一個工作在WebServices下的簡單API, 支援POJO和schema開 發. XFire支援 Web Services standards,Spring整合, 支援JBI , 支援 JAXB ,XMLBeans,Java 5 和JAX-WS.并支援HTTP, JMS, XMPP,In-memory傳輸協定
一、環 境配置:MyEclipse7.0
JDK1.6
二、建立Web Service Project
1)在MyEclipse中選擇File—>New—>Other,選擇Web Service Project

2)Project Name:WebServiceServer,Framework:XFire,其他選項預設
3)Next,這一步保持預設值
4)Project Library選擇,選擇XFire 1.2 Core Libraries
5)Finish,建立成功後看到的工程目錄如下:
6)完成以上5步後,檢視WebRoot/WEB-INF/web.xml
這裡指明了當遇到/services/* 請求時,将選用XFireConfigurableServlet來處理
記得把xalan.jar加到lib下
三、建立Web Service Code
1) 通過File—>New—>Other—>Web Services—>Web Service wizard建立JAVA CODE
2)選擇通過JAVA CLASS建立Web Service
3)建立HelloWebService.java, 通過New建立com.service package,向導将為工程自動建立對應的接 口類與實作類
建立成功後檢視WebServices/services.xml,發現配置文 件多了以下内容:
4)修改HelloWebServiceImpl.java
package com.service;
//Generated by meteorWJ
public class HelloWebServiceImpl implements IHelloWebService {
public String example(String message) {
return getAuthor()+","+message;
}
private String getAuthor(){
return "meteorWJ";
}
四、 部署并測試WebSericeServer
1)部署WebServiceServer
在部署向導中選擇項 目、服 務器
2)啟動伺服器
3)測試WebService
MyEclipse提供了一個Web Service Explorer來測試Web Service
選擇清單中的Launch SOAP Web Services Explorer
4) 選擇WSDL模式
5)在Explorer中選擇WSDL Main,在右邊的URL中輸入
其中8080是伺服器端口号,我用的是tomcat,tomcat用的是8080.services在web.xml中指定的
若在Status中顯示成功打開WSDL檔案則測試成功
也可以在浏覽器中輸入
在這裡一定要注意路徑,第一次做時不熟悉,URL寫錯,費了二個小時的時間.慚愧啊!!!!!!!
五、建立WebService客 戶端
經過以上幾步,我們已經成功釋出了一個WebService,現在需要建立一個用戶端來調用該服務
1)建立Java Project:WebServiceClient(這是project名稱,不是選項,當初看成選項,郁悶半天也沒 有找到此選項)
2)引入MyEclipse Libraries
右鍵WebServiceClient—>Build Path—>Add Libraries
選擇XFire 1.2 HTTP Client Libraries
3)建立HelloWebService.java
在src目錄下建立 com.client.HelloWebService.java
package com.client;
import java.net.URL;
import org.codehaus.xfire.client.Client;
public class HelloWebService {
public static void main(String[] args) throws Exception
{
Client client = new Client(new URL("http://localhost:9090/WebServiceServer/services/HelloWebService?wsdl"));
Object[] results = client.invoke("example", new Object[] {"hello"});
System.out.println((String) results[0]);
}
4)在 确認伺服器啟動的情況下,運作HelloWebService.java
右鍵點選Run As>Java Application,在控制台中看到如下輸出
Could not find operation with name getName
是因為在接口中并沒有寫這個方法,添加上就OK了
本文轉自 斯然在天邊 51CTO部落格,原文連結:http://blog.51cto.com/winters1224/798916,如需轉載請自行聯系原作者