webservice入門(2)開發ws程式,webservicews

來源:互聯網
上載者:User

webservice入門(2)開發ws程式,webservicews

因為webservice分為服務端和用戶端,所以如果要學習的話,那麼肯定是包括這兩部分的了。

1.開發服務端的webservice:

  使用jdk開發ws其實很簡單,只是需要一些註解:最重要的是

@WebService,@WebMethod

這兩個註解,分類在類和方法上面註解。註明這是一個ws介面,然後在實現就可以了,下面是例子:

/** * SEI 介面 * @author Hotusm * */@WebServicepublic interface HelloWs {        @WebMethod    public String sayHello(String name);}

我們聲明了一個介面,然後在類上和方法上面都使用註解標記,然後我們在實現這個介面:

@WebServicepublic class HelloWsImpl implements HelloWs{    @Override    public String sayHello(String name) {        System.out.println("SEI IMPL");        return "hello "+name;    }}

這樣一個ws的helloword就寫好了,下面就剩下怎麼發布ws了,我們要使用到jdk提供給我們方法了:

    Endpoint publish = Endpoint.publish("http://127.0.0.1:9999/WebService/hellows", new HelloWsImpl());//這裡我們使用的是實現的那個方法。

注意,如果是java app的話,建議不要使用127.0.0.1而應該擷取到原生真是連接埠號碼,這樣別人就能夠調用你的ws了。還有就是這個連接埠不能夠被佔用了。不然是會報錯的:,,最後發布完以後,我們可以通過流浪器開啟地址http://127.0.0.1:9999/WebService/hellows?wsdl,如果看到xml檔案,那麼就證明發布成功啦。

2.開發用戶端的ws

開發用戶端代碼會分為兩部分:

1.擷取wsdl檔案,這個擷取除了網上的那個地址,也有可能是第三方發給你的一個wsdl檔案
2.使用jdk提供的工具產生用戶端主體代碼。
下面來樣本一下:
  1.第一步一般只是準備工作,沒什麼好講的只是講一下怎麼產生用戶端代碼。我們使用到了java的一個工具,在jdk的bin目錄裡面有一個,我們可以使用這個工具來協助我們產生代碼。

  ①。使用cmd,切換到存放產生代碼的地方(這裡需要注意下,產生的包名和伺服器中的包名是一致的,所以別放在伺服器的src下面,不然就覆蓋了)。:

D:\ww>wsimport -keep http://127.12.0.1:9999/WebService/hellows?wsdl

這樣,在d盤的ww檔案夾下面就產生了這樣的一個結構的包和一些類。下面怎麼使用這些東西呢?

HelloWsImplService factory=new HelloWsImplService();
//一般情況下,你只需要看哪一個類繼承了service,那麼這個類就是factory了:public class HelloWsImplService extends Service {...}HelloWs helloWsImplPort = factory.getHelloWsImplPort();//然後通過工廠擷取到操作類,就是真正有意義的那個類
helloWsImplPort.sayHello("hotusm");

如果是一個儲存在磁碟上的wsdl,我們需要這樣來產生:

wsimport -keep D:\jeesite\WebServiceTest\src\weather.wsdl

其他的操作都是一樣的。

 CXF開發:cxf開發和jdk的開發是差不多的。差別是加上cxf的架包。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.