您好,登錄后才能下訂單哦!
這篇文章主要介紹“利用WebService從一個項目中去調用另一個項目中的資源”,在日常操作中,相信很多人在利用WebService從一個項目中去調用另一個項目中的資源問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”利用WebService從一個項目中去調用另一個項目中的資源”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
我們在開發項目時,如果有需求需要從一個項目中去調用另一個項目中的資源,通常可以有四種方案:
1. RESTful
2. WebService
3. RPC
4. Socket
這些方式各自有其使用場景和特點,今天我們主要說一下WebService這種方式。
WebService也是一個web的應用程序,可以使用XML的標準來描述、發布、發現、協調這些應用程序,可以用于分布式開發。
在開發WebService程序時,有一些基本概念必須要知道:
SOAP:簡單對象傳輸協議。SOAP使用XML消息調用遠程方法,這樣web services可以通過HTTP協議的post和get方法與其他遠程數據交互。
WSDL: WebService描述語言。WSDL就是用機器能閱讀的方式提供的一個正式描述文檔而基于XML的語言,用于描述WebService及其函數、參數和返回值。
那么,究竟如何去使用WebService來進行兩個項目數據的交互呢,接下來看一個簡單的例子。
首先,新建一個工程myServer,在工程里新建一個Java類,并且開發一個基于WebService的服務,如下:
package com.wl.weather;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
@WebService
public class WeatherServer {
public String getWeather(String cityName){
switch (cityName){
case "北京":
return "晴";
case "武漢":
return "雨";
default:
return "未知地點";
}
}
public static void main(String[] args) {
Endpoint.publish("http://192.168.52.56:9001/Service/Weather",new WeatherServer());
System.out.println("發布完畢");
}
}
將工程中的main方法啟動。
然后再新建一個工程myClient去調用myServer中的服務。在myClient中新建包com.wl.day23.controller,然后打開終端窗口,在終端窗口中切換到myClient的工程目錄,并且輸入如下命令:
wsimport -s . -p com.wl.day23.controller -keep http://192.168.52.56:9001/Service/Weather?wsdl
,再看一下myClient項目,就會發現多了好多個接口和類,不用管這些接口和類,在controller包里新建一個類,并且寫下如下代碼:
package com.wl.day23.controller;
public class IndexController {
public String list(){
WeatherServer server = new WeatherServerService().getWeatherServerPort();
String result = server.getWeather("武漢");
System.out.println(result);
return "/list";
}
public static void main(String[] args) {
new IndexController().list();
}
}
運行main方法,看看有沒有打印出數據,如果有顯示打印數據,OK,你成功了。
到此,關于“利用WebService從一個項目中去調用另一個項目中的資源”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。