在上文中,使用Java6做了一個最簡單的WebService服務的實現,並通過Java6API發布了該服務。
一、服務端代碼
package lavasoft;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
/**
* Java6開發WebService入門
*
* @author leizhimin 2009-11-13 16:10:44
*/
@WebService
public class Java6WebService {
/**
* Web服務中的業務方法
*
* @return 一個字符串
*/
public String doSomething() {
return "Hello Java6 WebService!";
}
public static void main(String[] args) {
//發布一個WebService
Endpoint.publish("http://192.168.14.117:8080/java6ws/lavasoft.Java6WebService", new Java6WebService());
}
}
在浏覽器中訪問WSDL:http://192.168.14.117:8080/java6ws/Java6WS?wsdl
二、生成客戶端代碼
Java6提供生成WebService客戶端代碼工具,注意,在生成前需要先啟動服務端,用法如下圖:
生成後的項目目錄如下:
三、寫客戶端的測試類
package lavasoft;
import lavasoft.wsclient.Java6WS;
import lavasoft.wsclient.Java6WSService;
/**
* 測試Java6 WS生成的客戶端代碼
*
* @author leizhimin 2009-11-16 10:40:07
*/
public class TestClient {
public static void main(String[] args) {
//創建一個客戶端服務對象
Java6WS java6WS = new Java6WSService().getJava6WSPort();
//調用服務方法,並得到方法返回值
String returnContent = java6WS.doSomething("zhangsan");
//打印服務的返回值
System.out.println(returnContent);
}
}
注意,上面導入的類全是lavasoft.wsclient包下面的。
運行測試類:
服務方法正確調用,測試成功。
Java6的WebService開發如此方便,我們還需要Axis2、XFire、CXF嗎?敬請關注後續文章!
出處:http://lavasoft.blog.51cto.com/62575/226581
本文配套源碼