好程式設計師分享WebService的簡單使用

好程式設計師IT發表於2019-06-21

好程式設計師分享 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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章