經過前面咱們瞭解的內容,咱們來簡單的編寫一個webservice的實例java
環境:eclipse+jdk1.6web
那麼,咱們如何用java發佈一個webservice服務呢?eclipse
1)用jdk1.6之後的版本發佈;spa
(2)與Web服務相關的類,都位於Javax.jws.*包中code
@WebService——此註解用在類上指定將此類發佈成一個WebService;orm
EndPoint——此類爲端點服務類,其中publish()方法用於將一個已經添加了@WebService註解對象綁定到一個地址的端口上,用於發佈。對象
例子:
圖片
1.發佈webservice服務
ip
項目結構(javaproject):get
HelloSir.java:
好了上面的代碼基本上就編寫完成了,原諒我直接放圖片,由於我在第一次寫這個例子的時候中間出現過幾回錯誤,我怕不標清楚會打噴嚏
點擊運行後,咱們就能夠查看咱們生成的wsdl文件了
好了,生成的wsdl文件,若是有看不懂的,能夠根據前面的內容來對照着看一下!這樣有便於記憶和理解!
既然服務已經發布了,wsdl文件也有了,咱們就根據wsdl文件來生成客戶端來調用一下咱們發佈的服務
咱們根據jdk自帶的wsimport命令來生成客戶端的代碼
wsimport.exe命令參數熟知:
-d:生成class文件。默認參數。
-s:生成Java文件
-p:自定義包結構
用這個命令後生成的代碼以下:
將他們黏貼複製到咱們先建的工程下(javaproject)下:
而後編寫咱們的調用代碼MyClient:
package www.yq.com; /** * @Project WebServiceClient * @File MyClient.java * @Package www.yq.com * @Date 2016年1月14日 上午11:02:14 * @Author * @email */ public class MyClient { public static void main(String[] args) { HelloSirService hss = new HelloSirService(); HelloSir hs = hss.getHelloSirPort(); String result = hs.sayHello("大波"); System.out.println(result); } }
這完了之後基本就大功告成了,固然你在用客戶端調用發佈的服務時,服務不能中止,若是中止會報鏈接錯誤!
固然jdk編譯的代碼也會出現錯了,你根據代碼提示刪除就好,不影響運行!
最後咱們來看一下運行結果:
總結:
固然在工做中咱們不是這麼簡單的編寫,我以爲還應該去看一下廣泛是怎麼用的,怎麼寫的!