今天下午,測試一下webservice,中間出現了各種問題,現將編寫過程中的各類檔案一一總結一番。操作步驟可參考圖文詳解java編寫webservice程式一文,這裡就不再贅述了。
先看服務類(具體實現省去):
package test;/** * GetUserInfo From Romote DB * * @author dml * @since 2012.9.13 * */public class InitUserHandle {public static List query_userInfo_from_romoteDB() {……………………public static List query_userInfo_from_IMDB() {……………………}protected static void insert_userInfo_to_localDB(List list, String SITENAME) {……………………}public static void getUserList(String SITENAME) {……………………}
服務地址:http://127.0.0.1:8080/InitUserService/InitUserHandlePort?wsdl
啟動tomcat後會看到其WSDL內容
根據測試工程具體操作方式,產生的工程項目結構如所示:
檔案清單:
1.一個包資訊類package-info.java;
2.一個對象工廠類 objectFactory.java;
3.一個服務類[類名]Service.java;
4.一個代表類[類名]Delegate.java;
5.聲明為public的方法(xxxx)都會產生為一個xxxx.java和xxxxResponse.java類;
這些檔案均為IDE產生,有興趣可以詳細研讀一番。
測試類別內容:
package com.jointsky.test;import com.jointsky.handle.InitUserHandleDelegate;import com.jointsky.handle.InitUserHandleService;/** * * * <p> * Title: 測試代碼 /p> * * <p> * Description: 樣本 業務類 * </p> * * <p> * Copyright: Copyright (c) 2012 * </p> * * @author dml@2012-12-11 * @version 1.0 */public class InitUserTest {public static void main(String[] args) {InitUserHandleService iuhs = new InitUserHandleService();InitUserHandleDelegate iuhd = iuhs.getInitUserHandlePort();iuhd.getUserList("192.168.4.155");}}
說明:執行個體化服務類,執行個體化代理類,通過代理類對象執行所需方法。
經過這些操作,大致能夠自主寫一個webservice工程了,接下來就又需要鞏固理論基礎了。
上面粘的這些範例程式碼關鍵包為JAX-WS,接下來,具體瞭解一下這個包,詳見
【TODO】 webservice之JAX-WS探究 一文。
dml@ 2013.1.7