好程式設計師分享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 ,你成功了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913892/viewspace-2648342/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 好程式設計師前端分享使用JS開發簡單的音樂播放器程式設計師前端JS播放器
- 好程式設計師web前端培訓分享FormData 簡單介紹程式設計師Web前端ORM
- 好程式設計師Java培訓分享-簡單的效能最佳化技巧程式設計師Java
- 好程式設計師Python培訓分享numpy簡介程式設計師Python
- 好程式設計師web前端教程分享JavaScript簡寫方法程式設計師Web前端JavaScript
- 好程式設計師前端分享HTML5 智慧表單程式設計師前端HTML
- 好程式設計師web前端培訓分享HTML DOM簡介程式設計師Web前端HTML
- 好程式設計師Python培訓分享簡述fetchone()函式程式設計師Python函式
- 好程式設計師web前端分享HTML表單和輸入程式設計師Web前端HTML
- 好程式設計師Java分享為什麼要使用Docker程式設計師JavaDocker
- 好程式設計師分享JavaScript建立物件的方式!程式設計師JavaScript物件
- VUE的面試題分享-好程式設計師Vue面試題程式設計師
- 好程式設計師web前端分享如何理解JS的單執行緒程式設計師Web前端JS執行緒
- 好程式設計師Java學習路線分享原生Ajax的使用程式設計師Java
- 好程式設計師Python培訓分享Python系列之字串的使用程式設計師Python字串
- 好程式設計師Java培訓分享Java程式設計技巧程式設計師Java
- 好程式設計師Java培訓分享Java程式設計師常用的工具類庫程式設計師Java
- 好程式設計師Java培訓分享Java程式設計師技能提升指南程式設計師Java
- 好程式設計師Python培訓分享Python程式設計師面試技巧程式設計師Python面試
- 好程式設計師Java教程分享List介面程式設計師Java
- 好程式設計師Java教程分享javaweb框架程式設計師JavaWeb框架
- 程式設計師程式設計時的簡單方法與技巧程式設計師
- 好程式設計師雲端計算培訓分享Linux檔案許可權簡單說明程式設計師Linux
- 好程式設計師Java教程分享Java之設計模式程式設計師Java設計模式
- 好程式設計師web前端教程分享js reduce方法使用教程程式設計師Web前端JS
- 好程式設計師分享Vue的一些小技巧程式設計師Vue
- 好程式設計師Java培訓分享BigDecimal的用法程式設計師JavaDecimal
- 好程式設計師分享SpringBoot須掌握的註解程式設計師Spring Boot
- 好程式設計師web前端分享用CSS和JS打造一個簡單的圖片編輯器程式設計師Web前端CSSJS
- 好程式設計師分享java設計模式之享元模式程式設計師Java設計模式
- 好程式設計師分享Web前端開發工具程式設計師Web前端
- 好程式設計師Java教程分享Java語法程式設計師Java
- 好程式設計師分享placeholder屬性詳解程式設計師
- 好程式設計師Java培訓分享SpringBoot -YAML程式設計師JavaSpring BootYAML
- 好程式設計師Java分享SQL語言之索引程式設計師JavaSQL索引
- 好程式設計師java分享spring框架精講程式設計師JavaSpring框架
- 好程式設計師web前端教程分享CSS技巧!程式設計師Web前端CSS
- 好程式設計師web前端分享Cookie知識程式設計師Web前端Cookie