Java WebService介面產生和調用 圖文詳解

來源:互聯網
上載者:User

標籤:業務流   本地   簡介   sim   網路   water   如何   val   tst   

webservice簡介:
Web Service技術, 能使得運行在不同機器上的不同應用無須藉助附加的、專門的第三方軟體或硬體, 就可相互交換資料或整合。依據Web Service規範實施的應用之間, 無論它們所使用的語言、 平台或內部協議是什麼, 都可以相互交換資料。Web Service是自描述、 自包含的可用網路模組, 可以執行具體的業務功能。Web Service也很容易部署, 因為它們基於一些常規的產業標準以及已有的一些技術,諸如標準通用標記語言 (SGML)下的子集XML、HTTP。Web Service減少了應用介面的花費。Web Service為整個企業甚至多個組織之間的商務程序的整合提供了一個通用機制

一、 WebService產生

1.在eclipse或myclipse建立一個Web項目,並建立一個class類,用於發布;

2.編寫供用戶端調用的方法,即編譯方法代碼;
樣本:

import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;

/**

  • Title: ServiceHello
  • Description: 基於jdk1.6以上的javax.jws 發布webservice介面
    @WebService - 它是一個註解,用在類上指定將此類發布成一個ws。
    Endpoint – 此類為端點服務類,它的方法publish用於將一個已經添加了@WebService註解
    對象綁定到一個地址的連接埠上。
  • Version:1.0.0
  • @author panchengming
    */
    @WebService
    public class JwsServiceHello {

    /** 供用戶端調用方法 該方法是非靜態,會被發布

    • @param name 傳入參數
    • @return String 返回結果
    • */
      public String getValue(String name){
      return "歡迎你! "+name;
      }

    /**

    • 方法上加@WebMentod(exclude=true)後,此方法不被發布;
    • @param name
    • @return
      */
      @WebMethod(exclude=true)
      public String getHello(String name){
      return "你好! "+name;
      }

    /** 靜態方法不會被發布

    • @param name
    • @return
      */
      public static String getString(String name){
      return "再見!"+name;
      }

      //通過EndPoint(端點服務)發布一個WebService
      public static void main(String[] args) {
      /參數:1,本地的服務地址;
      2,提供服務的類;
      /
      Endpoint.publish("http://192.168.1.105:8080/Service/ServiceHello", new JwsServiceHello());
      System.out.println("發布成功!");
      //發布成功後 在瀏覽器輸入 http://192.168.1.105:8080/Service/ServiceHello?wsdl
      }
      }
      3.進行編譯運行(註:失敗檢查jdk版本)

      4.將所設地址加上?wsdl到瀏覽器上訪問,如出現XML格式代碼,則發布成功,反之,則否;

      二、WebService調用方法

      產生代碼方式一

1.建立一個class類,用於調用webservice。右鍵src,找到Web Service Client,並輸入wsdl地址,選擇下載代碼的路徑;(url: http://192.168.1.105:8080/Service/ServiceHello?wsdl)



2.將地址上的檔案下載下來(注意和發布JDK一致);
3.寫調用方法調用下載下來的WebService中的java類中的方法;
樣本:

import com.pcm.ws.jws.JwsServiceHello;
import com.pcm.ws.jws.JwsServiceHelloService;

/**

    • Title: JwsClientHello
    • Description: webService 用戶端調用
    • Version:1.0.0
    • @author panchengming
      */
      public class JwsClientHello {

    public static void main(String[] args) {
    //調用webservice
    JwsServiceHello hello=new JwsServiceHelloService().getJwsServiceHelloPort();
    String name=hello.getValue("panchengming");
    System.out.println(name);
    }
    }

    產生代碼方式二
    1.建立Web Service Project,命名為TheClient。
    2.在dos命令下輸入 wsimport -s “src目錄” -p “產生類所在包名” -keep “wsdl發布地址”
    樣本:wsimport -s G:\workspace\webService\webService_Project\src -p com.pcm.ws.jws -keep http://192.168.1.105:8080/Service/ServiceHello?wsdl
    3.成功則返回 parsing WSDL…
    generating code…
    compiling code…
    4.重新整理項目,產生類;
    5,寫調用方法(同上);

三、總結:

如何發布一個Web服務:
a,在類上添加@WebService註解
(註:此註解是jdk1.6提供的,位於javax.jws.WebService包中)
b,通過EndPoint(端點服務)發布一個WebService
(註:EndPoint是jdk提供的一個專門用於發布服務的類,該類的publish方法接收兩個參數,一個是本地的服務地址,二是提供服務的類。位於 javax.xml.ws.Endpoint包中)
c,註:
類上添加註解@WebService,類中所有非靜態方法都會被發布;
靜態方法和final方法不能被發布;
方法上加@WebMentod(exclude=true)後,此方法不被發布;

Java WebService介面產生和調用 圖文詳解

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.