資通電腦擁有精深的系統建置與整合技術,以及豐富的大型專案輔導經驗,能協助政府單位進行專案事前規劃、專業系統建置、資料移轉、效能校調與原始碼檢測……等服務。在執行網站專案開發時,通常都需先建置 web Service,工程師透過這樣的軟體服務元件,就能夠輕易的將不同平台之間的服務串接起來,加速系統建置效率。
建立新專案
- 建立一個新的 Dynamic Web Project
- 設定專案名稱後點擊 Finish
- 建立一個新的 class
以 Java 為範例,撰寫 Web Service Server 端的 method
在 constant 程式裡建立 2 個 method,一個為 getWsString(),另一個為 getWsString(String arg)
建立 Web Service Server
- 選擇需要發佈 method 的 Java 檔
- 點擊 Next
- 點擊 OK
- 選取要發佈的 method 後,點擊 Next
- 點擊 Start server
- 當 Server 啟動後,點擊 Next
- 此處不勾選,點擊 Finish
測試 Web Service
打開瀏覽器,依此範例輸入 http://localhost:8080/webServiceServer/services,當畫面出現 method 內容,代表 Web Service 佈署成功。
設定權限控管機制
- 在 tomcat-users.xml 設定權限
- 在 tomcat 的 web.xml 增加下列程式,設定權限控管
建立 Web Service Client
- 建立一個新的 Dynamic Web Project
- 設定專案名稱後點擊 Finish,此範例專案名稱為 webServiceClient
- 利用 WSDL 來建立 Web Service Client
- 選擇 Web Service Client 後點擊 Next
- 將 WSDL 的路徑輸入到 service definition欄位,點擊 Next
- 確認 Output folder 所指的位置是否與 Web Service Code 相同,點擊 Finish
- 在 webServiceClient 的 src 目錄下會出現 java 檔,及 WebContent → WEB-INF → lib 目錄下會載入 jar 檔
有設定權限控管機制時,需有帳號密碼才可使用
- 當 Web Service 有設定權限控管機制時,會要求 Client 端需要帳號密碼才可使用 method。
- 以 Constant.java 的 getWsString() 及 getWsString2(java.lang.String arg) 為範例修改 ConstantSoapBindingStub.java 裡的 getWsString() 及getWsString2(java.lang.String arg),在這兩個 method 加上: _call.setProperty(org.apache.axis.client.Call.USERNAME_PROPERTY, "ACCOUNT"); _call.setProperty(org.apache.axis.client.Call.PASSWORD_PROPERTY, "PASSWORD");
使用 Web Service 提供的 method
- 建立一個新的 class 作為呼叫 Web Service 的 method 使用
- 撰寫呼叫 Web Service 提供的 method 的程式
- 新增測試用的 index.jsp,點擊 button 後執行 useWebServiceAction,將回傳值顯示於畫面上
- 更改 web-xml,加入 Servlet 設定
執行 Web Service
打開瀏覽器,此範例輸入 http://localhost:8080/webServiceClient/testWsServlet,當畫面出現 method 內容,代表 Web Service 執行成功。