原創|使用教程|編輯:龔雪|2015-04-15 09:18:38.000|閱讀 331 次
概述:MyEclipse春季特惠,全場8.5折!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
在開發JAX-RPC Web Services for WebSphere(上)一文中,小編為大家介紹了如何創建一個Web服務項目、如何創建一個服務類和Web服務,以及部署項目等內容。接下來小編將為大家介紹另外兩節內容,希望能夠幫助到大家。
(1)通過點擊相應圖標加載Web服務瀏覽器。
(2)在Web服務資源管理器工具欄上單擊相應圖標,然后點擊單擊WSDL Main鏈接來打開Open WSDL頁面。
(3)在WSDL URL字段中輸入//localhost:9080/WebServiceProject/services/Calculator?WSDL,然后點擊Go。
URL被分解成以下組件:
Web服務資源管理器加載從這個Web服務中分解的所有操作。
(4)為了測試Web服務,請在導航器中單擊Add操作來使用瀏覽器測試它。調用WSDL操作頁面出現在資源管理器中。該頁面顯示您正在測試的端點(運算器),同時每個參數操作需要一個字段輸入測試值。
(5)在a和b字段中輸入值10和20,然后單擊Go。
在這種情況下,從Web服務的狀態會顯示30的響應。
Web服務客戶端允許您直接與Web服務及其分解操作進行交互,而無需編寫所有的編組或連接代碼。
在MyEclipse中,當您生成一個Web服務時,您將在同一時間得到生成Web服務客戶端的選項。您可以在任何時間使用此功能,但是在本教程中,我們認為更典型的情況時需要對一個已部署的Web服務創建一個Web服務客戶端,而不是為正在生成的服務。
在本節中,您在一個單獨的Java項目中生成一個Web服務客戶端,因為Web服務已經部署并掛鉤到它上面了。在本教程中,這使得Web服務和Web服務客戶端創建之間的界限非常清楚地分開。
(1)單擊下拉箭頭,選擇Java項目。
(2)在項目名稱字段中輸入WebServiceClientProject,然后單擊完成。
(3)單擊下拉箭頭,然后選擇New Web Service Client。
(4)從項目的下拉菜單中選擇您的Web服務客戶端,選擇AX-RPC框架選項,并選擇WebSphere服務器作為目標服務器。這提供了MyEclipse調用來創建JAX-RPC客戶端的Web服務代服務。然后單擊下一步。
(5)請務必選擇WSDL URL選項,并輸入//localhost:9080/WebServiceProject/services/Calculator?WSDL在WSDL URL字段中。
您可以使用命名空間來打包映射列表定制基于源WSDL文件中定義的命名空間中產生的包。如果不指定映射,生成工具會選擇一個合適的默認映射。
(6)單擊下一步。MyEclipse加載Web服務驗證的WSDL,讓您知道WSDL可能存在的問題。
注意:如果使用驗證發生任何錯誤,請確保Web服務部署和應用服務器托管正在運行。如果您想生成客戶端的第三方Web服務,并且在驗證過程中出錯,將其帶到了Web服務的作者請注意,如果可能的話,這樣就能夠糾正錯誤。
(7)單擊完成所有MyEclipse生成的客戶端都為您服務。
已經生成客戶端后,一個新的包出現在您的src目錄中,同時還有一些新的類可以同Web服務一起工作。
隨著新資源的生成,您可以使用運算器的ServiceLocator類訪問引用到Web服務,然后執行您的公開操作(加,減,乘,除)。
舉個例子說,您要計算以下4個運算:
在這個示例中,添加從Web服務中使用操作來確保這些計算的代碼。首先,您需要在他的主函數中創建一個新的類。
(1)右鍵單擊com.myeclipseide.ws包,并選擇New> Class。
(2)將它命名為WebServiceClient,選擇Public static void main復選框,然后單擊完成。
當您創建類之后,您需要將提供上述四個數學計算的主要實現方法同Web服務一起執行這些計算,然后輸出到控制臺結果的代碼如下:
package com.myeclipseide.ws; import java.rmi.RemoteException; import javax.xml.rpc.ServiceException; public class WebServiceClient { public static void main(String[] args) throws ServiceException, RemoteException { /* Create a locator instance */ CalculatorServiceLocator locator = new CalculatorServiceLocator(); /* Get access to the service using the locator */ Calculator_SEI calculator = locator.getCalculator(); /* Using the web service, perform the 4 calculations */ System.out.println("1. 3+7=" + calculator.add(3, 7)); System.out.println("2. 12-2=" + calculator.subtract(12, 2)); System.out.println("3. 9*9=" + calculator.multiply(9, 9)); System.out.println("4. 40/2=" + calculator.divide(40, 2)); } }
注意:之所以定義的主要函數拋出ServiceException和RemoteException是為了避免在主要函數中實現try-catch塊。在寫一個真正的客戶端時,捕捉和處理異常的情況也是編寫好的代碼的重要組成部分。
(3)在上面顯示代碼的Java類文件中替換默認代碼,然后點擊保存。
(4)通過右鍵單擊來運行類,選擇Run As(或Debug As)>Java Application。
該客戶端運行代碼后,使用它生成的定位器類訪問Web服務,然后再控制臺中會出現下面的輸出:
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網